3#ifndef EDM4EIC_RawCALOROCHit_H
4#define EDM4EIC_RawCALOROCHit_H
10#include "podio/RelationRange.h"
14#include "podio/utilities/MaybeSharedPtr.h"
15#include "podio/detail/OrderKey.h"
20#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
21#include "nlohmann/json_fwd.hpp"
32OrderKey
getOrderKey(
const edm4eic::RawCALOROCHit& obj);
61 RawCALOROCHit(
const std::uint64_t cellID,
const std::int32_t samplePhase,
const std::int32_t timeStamp);
84 static constexpr std::string_view
typeName =
"edm4eic::RawCALOROCHit";
99 std::vector<edm4eic::CALOROC1ASample>::const_iterator
aSamples_begin()
const;
100 std::vector<edm4eic::CALOROC1ASample>::const_iterator
aSamples_end()
const;
101 podio::RelationRange<edm4eic::CALOROC1ASample>
getASamples()
const;
104 std::vector<edm4eic::CALOROC1BSample>::const_iterator
bSamples_begin()
const;
105 std::vector<edm4eic::CALOROC1BSample>::const_iterator
bSamples_end()
const;
106 podio::RelationRange<edm4eic::CALOROC1BSample>
getBSamples()
const;
112 void unlink() { m_obj = podio::utils::MaybeSharedPtr<RawCALOROCHitObj>{
nullptr}; }
127 friend std::hash<RawCALOROCHit>;
131 swap(a.m_obj, b.m_obj);
136 explicit RawCALOROCHit(podio::utils::MaybeSharedPtr<RawCALOROCHitObj> obj);
139 podio::utils::MaybeSharedPtr<RawCALOROCHitObj> m_obj{
new RawCALOROCHitObj{}, podio::utils::MarkOwned};
144#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
156 return std::hash<edm4eic::RawCALOROCHitObj*>{}(obj.m_obj.get());
164#if defined(__clang__)
165 #pragma clang diagnostic push
166 #pragma clang diagnostic ignored "-Wunknown-warning-option"
167 #pragma clang diagnostic ignored "-Wdeprecated-redundant-constexpr-static-def"
168 #pragma clang diagnostic ignored "-Wdeprecated"
170 #pragma clang diagnostic pop
171#elif defined(__GNUC__)
172 #pragma GCC diagnostic push
173 #pragma GCC diagnostic ignored "-Wdeprecated"
175 #pragma GCC diagnostic pop
Definition CALOROC1ASample.h:20
Definition CALOROC1BSample.h:20
Definition MutableRawCALOROCHit.h:37
Definition RawCALOROCHitCollectionData.h:31
Definition RawCALOROCHitCollection.h:138
Definition RawCALOROCHit.h:45
MutableRawCALOROCHit clone(bool cloneRelations=true) const
Definition RawCALOROCHit.cc:31
RawCALOROCHit & operator=(RawCALOROCHit other) &
copy-assignment operator
Definition RawCALOROCHit.cc:26
bool operator!=(const RawCALOROCHit &other) const
Definition RawCALOROCHit.h:117
friend void swap(RawCALOROCHit &a, RawCALOROCHit &b)
Definition RawCALOROCHit.h:129
void unlink()
disconnect from RawCALOROCHitObj instance
Definition RawCALOROCHit.h:112
std::int32_t getTimeStamp() const
Access the [TDC counts].
Definition RawCALOROCHit.cc:74
friend class RawCALOROCHitCollectionIterator
Definition RawCALOROCHit.h:50
bool operator==(const RawCALOROCHit &other) const
Definition RawCALOROCHit.h:114
RawCALOROCHit()=default
default constructor
RawCALOROCHitCollection collection_type
Definition RawCALOROCHit.h:55
std::vector< edm4eic::CALOROC1BSample >::const_iterator bSamples_begin() const
Definition RawCALOROCHit.cc:110
static RawCALOROCHit makeEmpty()
Definition RawCALOROCHit.cc:68
podio::RelationRange< edm4eic::CALOROC1BSample > getBSamples() const
Definition RawCALOROCHit.cc:133
~RawCALOROCHit()=default
destructor
std::vector< edm4eic::CALOROC1BSample >::const_iterator bSamples_end() const
Definition RawCALOROCHit.cc:116
std::vector< edm4eic::CALOROC1ASample >::const_iterator aSamples_begin() const
Definition RawCALOROCHit.cc:78
podio::RelationRange< edm4eic::CALOROC1ASample > getASamples() const
Definition RawCALOROCHit.cc:101
std::uint64_t getCellID() const
Access the Detector specific (geometrical) cell id.
Definition RawCALOROCHit.cc:72
bool isAvailable() const
check whether the object is actually available
Definition RawCALOROCHit.cc:145
const podio::ObjectID getObjectID() const
Definition RawCALOROCHit.cc:149
bool operator<(const RawCALOROCHit &other) const
Definition RawCALOROCHit.h:121
friend class MutableRawCALOROCHit
Definition RawCALOROCHit.h:47
friend class RawCALOROCHitCollection
Definition RawCALOROCHit.h:48
bool operator!=(const MutableRawCALOROCHit &other) const
Definition RawCALOROCHit.h:118
RawCALOROCHit(const RawCALOROCHit &other)=default
copy constructor
RawCALOROCHit & operator=(RawCALOROCHit other) &&=delete
std::size_t aSamples_size() const
Definition RawCALOROCHit.cc:90
std::size_t bSamples_size() const
Definition RawCALOROCHit.cc:122
std::int32_t getSamplePhase() const
Access the Phase of samples in [# samples], for synchronizing across chips.
Definition RawCALOROCHit.cc:73
std::vector< edm4eic::CALOROC1ASample >::const_iterator aSamples_end() const
Definition RawCALOROCHit.cc:84
static constexpr std::string_view typeName
Definition RawCALOROCHit.h:84
MutableRawCALOROCHit mutable_type
Definition RawCALOROCHit.h:54
podio::ObjectID id() const
Definition RawCALOROCHit.h:123
Definition RawCALOROCHitObj.h:21
Definition CalorimeterHit.cc:17
std::ostream & operator<<(std::ostream &o, const CalorimeterHit &value)
Definition CalorimeterHit.cc:99
Definition CalorimeterHit.h:31
OrderKey getOrderKey(const edm4eic::CalorimeterHit &obj)
Definition CalorimeterHit.cc:146
std::size_t operator()(const edm4eic::RawCALOROCHit &obj) const
Definition RawCALOROCHit.h:155