3#ifndef EDM4EIC_MutableRawCALOROCHit_H
4#define EDM4EIC_MutableRawCALOROCHit_H
12#include "podio/RelationRange.h"
16#include "podio/utilities/MaybeSharedPtr.h"
20#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
21#include "nlohmann/json_fwd.hpp"
86 [[deprecated(
"use getCellID instead")]]
94 [[deprecated(
"use getSamplePhase instead")]]
102 [[deprecated(
"use getTimeStamp instead")]]
110 std::vector<edm4eic::CALOROC1ASample>::const_iterator
aSamples_begin()
const;
111 std::vector<edm4eic::CALOROC1ASample>::const_iterator
aSamples_end()
const;
112 podio::RelationRange<edm4eic::CALOROC1ASample>
getASamples()
const;
116 std::vector<edm4eic::CALOROC1BSample>::const_iterator
bSamples_begin()
const;
117 std::vector<edm4eic::CALOROC1BSample>::const_iterator
bSamples_end()
const;
118 podio::RelationRange<edm4eic::CALOROC1BSample>
getBSamples()
const;
125 void unlink() { m_obj = podio::utils::MaybeSharedPtr<RawCALOROCHitObj>{
nullptr}; }
140 friend std::hash<MutableRawCALOROCHit>;
144 swap(a.m_obj, b.m_obj);
151 podio::utils::MaybeSharedPtr<RawCALOROCHitObj> m_obj{
new RawCALOROCHitObj{}, podio::utils::MarkOwned};
154#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
164struct std::hash<
edm4eic::MutableRawCALOROCHit> {
166 return std::hash<edm4eic::RawCALOROCHitObj*>{}(obj.m_obj.get());
Definition CALOROC1ASample.h:20
Definition CALOROC1BSample.h:20
Definition MutableRawCALOROCHit.h:37
podio::RelationRange< edm4eic::CALOROC1BSample > getBSamples() const
Definition MutableRawCALOROCHit.cc:125
friend class RawCALOROCHit
Definition MutableRawCALOROCHit.h:41
MutableRawCALOROCHit & operator=(MutableRawCALOROCHit other) &&=delete
MutableRawCALOROCHit(const MutableRawCALOROCHit &other)=default
copy constructor
const podio::ObjectID getObjectID() const
Definition MutableRawCALOROCHit.cc:142
void unlink()
disconnect from RawCALOROCHitObj instance
Definition MutableRawCALOROCHit.h:125
std::size_t bSamples_size() const
Definition MutableRawCALOROCHit.cc:114
bool operator!=(const RawCALOROCHit &other) const
Definition MutableRawCALOROCHit.h:131
std::uint64_t & cellID()
Get reference to Detector specific (geometrical) cell id.
Definition MutableRawCALOROCHit.cc:52
void setCellID(const std::uint64_t cellID)
Set the Detector specific (geometrical) cell id.
Definition MutableRawCALOROCHit.cc:50
std::size_t aSamples_size() const
Definition MutableRawCALOROCHit.cc:78
bool operator<(const MutableRawCALOROCHit &other) const
Definition MutableRawCALOROCHit.h:134
bool isAvailable() const
check whether the object is actually available
Definition MutableRawCALOROCHit.cc:138
std::vector< edm4eic::CALOROC1BSample >::const_iterator bSamples_end() const
Definition MutableRawCALOROCHit.cc:108
std::vector< edm4eic::CALOROC1ASample >::const_iterator aSamples_begin() const
Definition MutableRawCALOROCHit.cc:66
friend class RawCALOROCHitMutableCollectionIterator
Definition MutableRawCALOROCHit.h:40
podio::ObjectID id() const
Definition MutableRawCALOROCHit.h:136
bool operator!=(const MutableRawCALOROCHit &other) const
Definition MutableRawCALOROCHit.h:130
std::uint64_t getCellID() const
Access the Detector specific (geometrical) cell id.
Definition MutableRawCALOROCHit.cc:45
void setTimeStamp(const std::int32_t timeStamp)
Set the [TDC counts].
Definition MutableRawCALOROCHit.cc:56
~MutableRawCALOROCHit()=default
destructor
void addToASamples(const edm4eic::CALOROC1ASample &)
Definition MutableRawCALOROCHit.cc:61
std::int32_t & samplePhase()
Get reference to Phase of samples in [# samples], for synchronizing across chips.
Definition MutableRawCALOROCHit.cc:55
MutableRawCALOROCHit clone(bool cloneRelations=true) const
Definition MutableRawCALOROCHit.cc:29
friend void swap(MutableRawCALOROCHit &a, MutableRawCALOROCHit &b)
Definition MutableRawCALOROCHit.h:142
RawCALOROCHitCollection collection_type
Definition MutableRawCALOROCHit.h:45
friend class RawCALOROCHitCollection
Definition MutableRawCALOROCHit.h:39
bool operator==(const MutableRawCALOROCHit &other) const
Definition MutableRawCALOROCHit.h:127
std::vector< edm4eic::CALOROC1BSample >::const_iterator bSamples_begin() const
Definition MutableRawCALOROCHit.cc:102
std::int32_t getSamplePhase() const
Access the Phase of samples in [# samples], for synchronizing across chips.
Definition MutableRawCALOROCHit.cc:46
podio::RelationRange< edm4eic::CALOROC1ASample > getASamples() const
Definition MutableRawCALOROCHit.cc:89
std::int32_t getTimeStamp() const
Access the [TDC counts].
Definition MutableRawCALOROCHit.cc:47
MutableRawCALOROCHit & operator=(MutableRawCALOROCHit other) &
copy-assignment operator
Definition MutableRawCALOROCHit.cc:24
std::vector< edm4eic::CALOROC1ASample >::const_iterator aSamples_end() const
Definition MutableRawCALOROCHit.cc:72
RawCALOROCHit object_type
Definition MutableRawCALOROCHit.h:44
void setSamplePhase(const std::int32_t samplePhase)
Set the Phase of samples in [# samples], for synchronizing across chips.
Definition MutableRawCALOROCHit.cc:53
void addToBSamples(const edm4eic::CALOROC1BSample &)
Definition MutableRawCALOROCHit.cc:97
MutableRawCALOROCHit()=default
default constructor
std::int32_t & timeStamp()
Get reference to [TDC counts].
Definition MutableRawCALOROCHit.cc:58
Definition RawCALOROCHitCollection.h:138
Definition RawCALOROCHit.h:45
Definition RawCALOROCHitObj.h:21
Definition CalorimeterHit.cc:17
OrderKey getOrderKey(const edm4eic::CalorimeterHit &obj)
Definition CalorimeterHit.cc:146
std::size_t operator()(const edm4eic::MutableRawCALOROCHit &obj) const
Definition MutableRawCALOROCHit.h:165