3#ifndef EDM4EIC_MutableRingImage_H
4#define EDM4EIC_MutableRingImage_H
10#include "edm4hep/Vector3f.h"
12#include "podio/utilities/MaybeSharedPtr.h"
16#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
17#include "nlohmann/json_fwd.hpp"
94 [[deprecated(
"use getNpe instead")]]
102 [[deprecated(
"use getPosition instead")]]
110 [[deprecated(
"use getPositionError instead")]]
118 [[deprecated(
"use getTheta instead")]]
126 [[deprecated(
"use getThetaError instead")]]
134 [[deprecated(
"use getRadius instead")]]
142 [[deprecated(
"use getRadiusError instead")]]
153 void unlink() { m_obj = podio::utils::MaybeSharedPtr<RingImageObj>{
nullptr}; }
168 friend std::hash<MutableRingImage>;
172 swap(a.m_obj, b.m_obj);
179 podio::utils::MaybeSharedPtr<RingImageObj> m_obj{
nullptr};
182#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
194 return std::hash<edm4eic::RingImageObj*>{}(obj.m_obj.get());
Definition MutableRingImage.h:33
float & radius()
Get reference to Radius of the best fit ring [mm].
Definition MutableRingImage.cc:73
float & theta()
Get reference to Opening angle of the ring [rad, 0->pi].
Definition MutableRingImage.cc:67
float getThetaError() const
Access the Error on the opening angle.
Definition MutableRingImage.cc:51
void setTheta(const float theta)
Set the Opening angle of the ring [rad, 0->pi].
Definition MutableRingImage.cc:65
void setNpe(const float npe)
Set the Number of photo-electrons [#].
Definition MutableRingImage.cc:56
void setThetaError(const float thetaError)
Set the Error on the opening angle.
Definition MutableRingImage.cc:68
MutableRingImage()
default constructor
Definition MutableRingImage.cc:18
MutableRingImage & operator=(MutableRingImage other) &&=delete
bool isAvailable() const
check whether the object is actually available
Definition MutableRingImage.cc:84
MutableRingImage(const MutableRingImage &other)=default
copy constructor
void unlink()
disconnect from RingImageObj instance
Definition MutableRingImage.h:153
friend class RingImage
Definition MutableRingImage.h:37
const edm4hep::Vector3f & getPositionError() const
Access the Error on the position.
Definition MutableRingImage.cc:49
podio::ObjectID id() const
Definition MutableRingImage.h:164
friend class RingImageMutableCollectionIterator
Definition MutableRingImage.h:36
MutableRingImage & operator=(MutableRingImage other) &
copy-assignment operator
Definition MutableRingImage.cc:32
float & npe()
Get reference to Number of photo-electrons [#].
Definition MutableRingImage.cc:58
float & radiusError()
Get reference to Estimated error from the fit [mm].
Definition MutableRingImage.cc:76
friend void swap(MutableRingImage &a, MutableRingImage &b)
Definition MutableRingImage.h:170
float getNpe() const
Access the Number of photo-electrons [#].
Definition MutableRingImage.cc:47
RingImage object_type
Definition MutableRingImage.h:40
void setPosition(const edm4hep::Vector3f &position)
Set the Global position of the cluster [mm].
Definition MutableRingImage.cc:59
bool operator==(const MutableRingImage &other) const
Definition MutableRingImage.h:155
MutableRingImage clone(bool cloneRelations=true) const
Definition MutableRingImage.cc:37
void setPositionError(const edm4hep::Vector3f &positionError)
Set the Error on the position.
Definition MutableRingImage.cc:62
const edm4hep::Vector3f & getPosition() const
Access the Global position of the cluster [mm].
Definition MutableRingImage.cc:48
float getTheta() const
Access the Opening angle of the ring [rad, 0->pi].
Definition MutableRingImage.cc:50
float getRadiusError() const
Access the Estimated error from the fit [mm].
Definition MutableRingImage.cc:53
friend class RingImageCollection
Definition MutableRingImage.h:35
edm4hep::Vector3f & positionError()
Get reference to Error on the position.
Definition MutableRingImage.cc:64
~MutableRingImage()=default
destructor
edm4hep::Vector3f & position()
Get reference to Global position of the cluster [mm].
Definition MutableRingImage.cc:61
bool operator!=(const MutableRingImage &other) const
Definition MutableRingImage.h:158
bool operator<(const MutableRingImage &other) const
Definition MutableRingImage.h:162
RingImageCollection collection_type
Definition MutableRingImage.h:41
float getRadius() const
Access the Radius of the best fit ring [mm].
Definition MutableRingImage.cc:52
float & thetaError()
Get reference to Error on the opening angle.
Definition MutableRingImage.cc:70
bool operator!=(const RingImage &other) const
Definition MutableRingImage.h:159
void setRadiusError(const float radiusError)
Set the Estimated error from the fit [mm].
Definition MutableRingImage.cc:74
const podio::ObjectID getObjectID() const
Definition MutableRingImage.cc:88
void setRadius(const float radius)
Set the Radius of the best fit ring [mm].
Definition MutableRingImage.cc:71
Definition RingImageCollection.h:137
Definition RingImage.h:41
Definition CalorimeterHit.cc:17
OrderKey getOrderKey(const edm4eic::CalorimeterHit &obj)
Definition CalorimeterHit.cc:150
std::size_t operator()(const edm4eic::MutableRingImage &obj) const
Definition MutableRingImage.h:193