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;
82 [[deprecated(
"use getNpe instead")]]
90 [[deprecated(
"use getNhits instead")]]
91 std::uint16_t&
nhits();
98 [[deprecated(
"use getAngle instead")]]
109 void unlink() { m_obj = podio::utils::MaybeSharedPtr<IrtRadiatorInfoObj>{
nullptr}; }
124 friend std::hash<MutableIrtRadiatorInfo>;
128 swap(a.m_obj, b.m_obj);
135 podio::utils::MaybeSharedPtr<IrtRadiatorInfoObj> m_obj{
new IrtRadiatorInfoObj{}, podio::utils::MarkOwned};
138#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
148struct std::hash<
edm4eic::MutableIrtRadiatorInfo> {
150 return std::hash<edm4eic::IrtRadiatorInfoObj*>{}(obj.m_obj.get());
Definition IrtRadiatorInfoCollection.h:138
Definition IrtRadiatorInfo.h:41
Definition IrtRadiatorInfoObj.h:17
Definition MutableIrtRadiatorInfo.h:33
friend void swap(MutableIrtRadiatorInfo &a, MutableIrtRadiatorInfo &b)
Definition MutableIrtRadiatorInfo.h:126
std::uint16_t getNpe() const
Access the Detected photoelectron count.
Definition MutableIrtRadiatorInfo.cc:39
std::uint16_t & npe()
Get reference to Detected photoelectron count.
Definition MutableIrtRadiatorInfo.cc:46
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:64
void setNhits(const std::uint16_t nhits)
Set the Hit count associated with this radiator by IRT engine.
Definition MutableIrtRadiatorInfo.cc:47
void setNpe(const std::uint16_t npe)
Set the Detected photoelectron count.
Definition MutableIrtRadiatorInfo.cc:44
MutableIrtRadiatorInfo(const MutableIrtRadiatorInfo &other)=default
copy constructor
std::uint16_t & nhits()
Get reference to Hit count associated with this radiator by IRT engine.
Definition MutableIrtRadiatorInfo.cc:49
bool operator<(const MutableIrtRadiatorInfo &other) const
Definition MutableIrtRadiatorInfo.h:118
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 operator!=(const MutableIrtRadiatorInfo &other) const
Definition MutableIrtRadiatorInfo.h:114
bool isAvailable() const
check whether the object is actually available
Definition MutableIrtRadiatorInfo.cc:60
podio::ObjectID id() const
Definition MutableIrtRadiatorInfo.h:120
float & angle()
Get reference to Reconstructed Cherenkov angle.
Definition MutableIrtRadiatorInfo.cc:52
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:50
bool operator==(const MutableIrtRadiatorInfo &other) const
Definition MutableIrtRadiatorInfo.h:111
MutableIrtRadiatorInfo clone(bool cloneRelations=true) const
Definition MutableIrtRadiatorInfo.cc:29
void unlink()
disconnect from IrtRadiatorInfoObj instance
Definition MutableIrtRadiatorInfo.h:109
bool operator!=(const IrtRadiatorInfo &other) const
Definition MutableIrtRadiatorInfo.h:115
Definition CalorimeterHit.cc:17
OrderKey getOrderKey(const edm4eic::CalorimeterHit &obj)
Definition CalorimeterHit.cc:146
std::size_t operator()(const edm4eic::MutableIrtRadiatorInfo &obj) const
Definition MutableIrtRadiatorInfo.h:149