3#ifndef EDM4EIC_RingImage_H
4#define EDM4EIC_RingImage_H
8#include "edm4hep/Vector3f.h"
10#include "podio/utilities/MaybeSharedPtr.h"
11#include "podio/detail/OrderKey.h"
16#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
17#include "nlohmann/json_fwd.hpp"
57 RingImage(
const float npe,
const edm4hep::Vector3f& position,
const edm4hep::Vector3f& positionError,
const float theta,
const float thetaError,
const float radius,
const float radiusError);
80 static constexpr std::string_view
typeName =
"edm4eic::RingImage";
110 void unlink() { m_obj = podio::utils::MaybeSharedPtr<RingImageObj>{
nullptr}; }
125 friend std::hash<RingImage>;
129 swap(a.m_obj, b.m_obj);
134 explicit RingImage(podio::utils::MaybeSharedPtr<RingImageObj> obj);
137 podio::utils::MaybeSharedPtr<RingImageObj> m_obj{
nullptr};
142#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
143void to_json(nlohmann::json& j,
const RingImage& value);
154 return std::hash<edm4eic::RingImageObj*>{}(obj.m_obj.get());
162#if defined(__clang__)
163#pragma clang diagnostic push
164#pragma clang diagnostic ignored "-Wunknown-warning-option"
165#pragma clang diagnostic ignored "-Wdeprecated-redundant-constexpr-static-def"
166#pragma clang diagnostic ignored "-Wdeprecated"
168#pragma clang diagnostic pop
169#elif defined(__GNUC__)
170#pragma GCC diagnostic push
171#pragma GCC diagnostic ignored "-Wdeprecated"
173#pragma GCC diagnostic pop
Definition MutableRingImage.h:33
Definition RingImageCollectionData.h:30
Definition RingImageCollection.h:137
Definition RingImage.h:41
MutableRingImage clone(bool cloneRelations=true) const
Definition RingImage.cc:39
bool operator==(const RingImage &other) const
Definition RingImage.h:112
bool operator!=(const MutableRingImage &other) const
Definition RingImage.h:116
friend class MutableRingImage
Definition RingImage.h:43
bool operator<(const RingImage &other) const
Definition RingImage.h:119
RingImage & operator=(RingImage other) &
copy-assignment operator
Definition RingImage.cc:34
~RingImage()=default
destructor
void unlink()
disconnect from RingImageObj instance
Definition RingImage.h:110
RingImage & operator=(RingImage other) &&=delete
MutableRingImage mutable_type
Definition RingImage.h:50
float getRadiusError() const
Access the Estimated error from the fit [mm].
Definition RingImage.cc:64
bool operator!=(const RingImage &other) const
Definition RingImage.h:115
friend void swap(RingImage &a, RingImage &b)
Definition RingImage.h:127
static constexpr std::string_view typeName
Definition RingImage.h:80
friend class RingImageCollection
Definition RingImage.h:44
float getRadius() const
Access the Radius of the best fit ring [mm].
Definition RingImage.cc:63
RingImage(const RingImage &other)=default
copy constructor
RingImageCollection collection_type
Definition RingImage.h:51
const edm4hep::Vector3f & getPosition() const
Access the Global position of the cluster [mm].
Definition RingImage.cc:59
float getTheta() const
Access the Opening angle of the ring [rad, 0->pi].
Definition RingImage.cc:61
bool isAvailable() const
check whether the object is actually available
Definition RingImage.cc:71
float getNpe() const
Access the Number of photo-electrons [#].
Definition RingImage.cc:58
static RingImage makeEmpty()
Definition RingImage.cc:54
friend class RingImageCollectionIterator
Definition RingImage.h:46
const edm4hep::Vector3f & getPositionError() const
Access the Error on the position.
Definition RingImage.cc:60
float getThetaError() const
Access the Error on the opening angle.
Definition RingImage.cc:62
podio::ObjectID id() const
Definition RingImage.h:121
const podio::ObjectID getObjectID() const
Definition RingImage.cc:75
RingImage()
default constructor
Definition RingImage.cc:20
Definition RingImageObj.h:17
Definition CalorimeterHit.cc:17
std::ostream & operator<<(std::ostream &o, const CalorimeterHit &value)
Definition CalorimeterHit.cc:103
Definition CalorimeterHit.h:31
OrderKey getOrderKey(const edm4eic::CalorimeterHit &obj)
Definition CalorimeterHit.cc:150
std::size_t operator()(const edm4eic::RingImage &obj) const
Definition RingImage.h:153