3#ifndef EDM4EIC_RingImage_H
4#define EDM4EIC_RingImage_H
8#include "edm4hep/Vector3f.h"
10#include "podio/utilities/MaybeSharedPtr.h"
15#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
16#include "nlohmann/json_fwd.hpp"
23class MutableRingImage;
24class RingImageCollection;
25class RingImageCollectionData;
46 RingImage(
float npe, edm4hep::Vector3f position, edm4hep::Vector3f positionError,
float theta,
float thetaError,
float radius,
float radiusError);
93 void unlink() { m_obj = podio::utils::MaybeSharedPtr<RingImageObj>{
nullptr}; }
107 swap(a.m_obj, b.m_obj);
112 explicit RingImage(podio::utils::MaybeSharedPtr<RingImageObj> obj);
115 podio::utils::MaybeSharedPtr<RingImageObj> m_obj{
nullptr};
118std::ostream&
operator<<(std::ostream& o,
const RingImage& value);
120#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
121void to_json(nlohmann::json& j,
const RingImage& value);
Definition MutableRingImage.h:30
Definition RingImageCollectionData.h:30
Definition RingImageCollection.h:95
Definition RingImageCollection.h:40
Definition RingImage.h:31
RingImage & operator=(RingImage other)
copy-assignment operator
Definition RingImage.cc:35
bool operator==(const RingImage &other) const
Definition RingImage.h:95
friend class MutableRingImage
Definition RingImage.h:33
bool operator<(const RingImage &other) const
Definition RingImage.h:99
MutableRingImage clone() const
create a mutable deep-copy of the object with identical relations
Definition RingImage.cc:40
~RingImage()=default
destructor
void unlink()
disconnect from RingImageObj instance
Definition RingImage.h:93
float getRadiusError() const
Access the Estimated error from the fit [mm].
Definition RingImage.cc:58
friend void swap(RingImage &a, RingImage &b)
Definition RingImage.h:105
friend class RingImageCollection
Definition RingImage.h:34
float getRadius() const
Access the Radius of the best fit ring [mm].
Definition RingImage.cc:57
RingImage(const RingImage &other)=default
copy constructor
const edm4hep::Vector3f & getPosition() const
Access the Global position of the cluster [mm].
Definition RingImage.cc:53
float getTheta() const
Access the Opening angle of the ring [rad, 0->pi].
Definition RingImage.cc:55
bool isAvailable() const
check whether the object is actually available
Definition RingImage.cc:65
float getNpe() const
Access the Number of photo-electrons [#].
Definition RingImage.cc:52
static RingImage makeEmpty()
Definition RingImage.cc:48
const edm4hep::Vector3f & getPositionError() const
Access the Error on the position.
Definition RingImage.cc:54
float getThetaError() const
Access the Error on the opening angle.
Definition RingImage.cc:56
podio::ObjectID id() const
Definition RingImage.h:101
const podio::ObjectID getObjectID() const
Definition RingImage.cc:72
RingImage()
default constructor
Definition RingImage.cc:21
Definition RingImageObj.h:17
Definition CalorimeterHit.cc:18
std::ostream & operator<<(std::ostream &o, const CalorimeterHit &value)
Definition CalorimeterHit.cc:97