3#ifndef EDM4EIC_MutableIrtRadiatorInfo_H
4#define EDM4EIC_MutableIrtRadiatorInfo_H
12#include "podio/utilities/MaybeSharedPtr.h"
16#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
17#include "nlohmann/json_fwd.hpp"
67 std::uint16_t
getNpe()
const;
78 void setNpe(
const std::uint16_t npe);
83 void setNhits(
const std::uint16_t nhits);
100 void unlink() { m_obj = podio::utils::MaybeSharedPtr<IrtRadiatorInfoObj>{
nullptr}; }
115 friend std::hash<MutableIrtRadiatorInfo>;
119 swap(a.m_obj, b.m_obj);
126 podio::utils::MaybeSharedPtr<IrtRadiatorInfoObj> m_obj{
new IrtRadiatorInfoObj{}, podio::utils::MarkOwned};
129#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
139struct std::hash<
edm4eic::MutableIrtRadiatorInfo> {
141 return std::hash<edm4eic::IrtRadiatorInfoObj*>{}(obj.m_obj.get());
Definition IrtRadiatorInfoCollection.h:139
Definition IrtRadiatorInfo.h:41
Definition IrtRadiatorInfoObj.h:17
Definition MutableIrtRadiatorInfo.h:33
friend void swap(MutableIrtRadiatorInfo &a, MutableIrtRadiatorInfo &b)
Definition MutableIrtRadiatorInfo.h:117
std::uint16_t getNpe() const
Access the Detected photoelectron count.
Definition MutableIrtRadiatorInfo.cc:39
MutableIrtRadiatorInfo & operator=(MutableIrtRadiatorInfo other) &
copy-assignment operator
Definition MutableIrtRadiatorInfo.cc:24
MutableIrtRadiatorInfo & operator=(MutableIrtRadiatorInfo other) &&=delete
friend class IrtRadiatorInfo
Definition MutableIrtRadiatorInfo.h:37
IrtRadiatorInfo object_type
Definition MutableIrtRadiatorInfo.h:40
~MutableIrtRadiatorInfo()=default
destructor
const podio::ObjectID getObjectID() const
Definition MutableIrtRadiatorInfo.cc:61
void setNhits(const std::uint16_t nhits)
Set the Hit count associated with this radiator by IRT engine.
Definition MutableIrtRadiatorInfo.cc:46
void setNpe(const std::uint16_t npe)
Set the Detected photoelectron count.
Definition MutableIrtRadiatorInfo.cc:44
MutableIrtRadiatorInfo(const MutableIrtRadiatorInfo &other)=default
copy constructor
bool operator<(const MutableIrtRadiatorInfo &other) const
Definition MutableIrtRadiatorInfo.h:109
constexpr bool operator!=(const MutableIrtRadiatorInfo &other) const
Definition MutableIrtRadiatorInfo.h:105
constexpr bool operator==(const MutableIrtRadiatorInfo &other) const
Definition MutableIrtRadiatorInfo.h:102
float getAngle() const
Access the Reconstructed Cherenkov angle.
Definition MutableIrtRadiatorInfo.cc:41
friend class IrtRadiatorInfoCollection
Definition MutableIrtRadiatorInfo.h:35
std::uint16_t getNhits() const
Access the Hit count associated with this radiator by IRT engine.
Definition MutableIrtRadiatorInfo.cc:40
bool isAvailable() const
check whether the object is actually available
Definition MutableIrtRadiatorInfo.cc:57
podio::ObjectID id() const
Definition MutableIrtRadiatorInfo.h:111
friend class IrtRadiatorInfoMutableCollectionIterator
Definition MutableIrtRadiatorInfo.h:36
IrtRadiatorInfoCollection collection_type
Definition MutableIrtRadiatorInfo.h:41
MutableIrtRadiatorInfo()=default
default constructor
void setAngle(const float angle)
Set the Reconstructed Cherenkov angle.
Definition MutableIrtRadiatorInfo.cc:48
MutableIrtRadiatorInfo clone(bool cloneRelations=true) const
Definition MutableIrtRadiatorInfo.cc:29
void unlink()
disconnect from IrtRadiatorInfoObj instance
Definition MutableIrtRadiatorInfo.h:100
bool operator!=(const IrtRadiatorInfo &other) const
Definition MutableIrtRadiatorInfo.h:106
Definition ArrowMapper.cc:61
OrderKey getOrderKey(const edm4eic::CalorimeterHit &obj)
Definition CalorimeterHit.cc:146
std::size_t operator()(const edm4eic::MutableIrtRadiatorInfo &obj) const
Definition MutableIrtRadiatorInfo.h:140