3#ifndef EDM4EIC_MutableRawHGCROCHit_H
4#define EDM4EIC_MutableRawHGCROCHit_H
11#include "podio/RelationRange.h"
15#include "podio/utilities/MaybeSharedPtr.h"
19#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
20#include "nlohmann/json_fwd.hpp"
85 [[deprecated(
"use getCellID instead")]]
93 [[deprecated(
"use getSamplePhase instead")]]
101 [[deprecated(
"use getTimeStamp instead")]]
109 std::vector<edm4eic::HGCROCSample>::const_iterator
samples_begin()
const;
110 std::vector<edm4eic::HGCROCSample>::const_iterator
samples_end()
const;
111 podio::RelationRange<edm4eic::HGCROCSample>
getSamples()
const;
118 void unlink() { m_obj = podio::utils::MaybeSharedPtr<RawHGCROCHitObj>{
nullptr}; }
133 friend std::hash<MutableRawHGCROCHit>;
137 swap(a.m_obj, b.m_obj);
144 podio::utils::MaybeSharedPtr<RawHGCROCHitObj> m_obj{
nullptr};
147#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
157struct std::hash<
edm4eic::MutableRawHGCROCHit> {
159 return std::hash<edm4eic::RawHGCROCHitObj*>{}(obj.m_obj.get());
Definition HGCROCSample.h:19
Definition MutableRawHGCROCHit.h:36
podio::ObjectID id() const
Definition MutableRawHGCROCHit.h:129
std::size_t samples_size() const
Definition MutableRawHGCROCHit.cc:79
friend class RawHGCROCHitCollection
Definition MutableRawHGCROCHit.h:38
std::int32_t & samplePhase()
Get reference to Phase of samples in [# samples], for synchronizing across chips.
Definition MutableRawHGCROCHit.cc:56
friend class RawHGCROCHitMutableCollectionIterator
Definition MutableRawHGCROCHit.h:39
MutableRawHGCROCHit(const MutableRawHGCROCHit &other)=default
copy constructor
std::uint64_t getCellID() const
Access the Detector specific (geometrical) cell id.
Definition MutableRawHGCROCHit.cc:46
std::uint64_t & cellID()
Get reference to Detector specific (geometrical) cell id.
Definition MutableRawHGCROCHit.cc:53
const podio::ObjectID getObjectID() const
Definition MutableRawHGCROCHit.cc:107
std::int32_t getTimeStamp() const
Access the [TDC counts].
Definition MutableRawHGCROCHit.cc:48
bool operator!=(const RawHGCROCHit &other) const
Definition MutableRawHGCROCHit.h:124
std::vector< edm4eic::HGCROCSample >::const_iterator samples_begin() const
Definition MutableRawHGCROCHit.cc:67
friend class RawHGCROCHit
Definition MutableRawHGCROCHit.h:40
void unlink()
disconnect from RawHGCROCHitObj instance
Definition MutableRawHGCROCHit.h:118
bool isAvailable() const
check whether the object is actually available
Definition MutableRawHGCROCHit.cc:103
std::vector< edm4eic::HGCROCSample >::const_iterator samples_end() const
Definition MutableRawHGCROCHit.cc:73
podio::RelationRange< edm4eic::HGCROCSample > getSamples() const
Definition MutableRawHGCROCHit.cc:90
MutableRawHGCROCHit clone(bool cloneRelations=true) const
Definition MutableRawHGCROCHit.cc:33
bool operator!=(const MutableRawHGCROCHit &other) const
Definition MutableRawHGCROCHit.h:123
friend void swap(MutableRawHGCROCHit &a, MutableRawHGCROCHit &b)
Definition MutableRawHGCROCHit.h:135
std::int32_t & timeStamp()
Get reference to [TDC counts].
Definition MutableRawHGCROCHit.cc:59
bool operator<(const MutableRawHGCROCHit &other) const
Definition MutableRawHGCROCHit.h:127
MutableRawHGCROCHit & operator=(MutableRawHGCROCHit other) &
copy-assignment operator
Definition MutableRawHGCROCHit.cc:28
void setCellID(const std::uint64_t cellID)
Set the Detector specific (geometrical) cell id.
Definition MutableRawHGCROCHit.cc:51
void setTimeStamp(const std::int32_t timeStamp)
Set the [TDC counts].
Definition MutableRawHGCROCHit.cc:57
RawHGCROCHitCollection collection_type
Definition MutableRawHGCROCHit.h:44
RawHGCROCHit object_type
Definition MutableRawHGCROCHit.h:43
MutableRawHGCROCHit & operator=(MutableRawHGCROCHit other) &&=delete
~MutableRawHGCROCHit()=default
destructor
bool operator==(const MutableRawHGCROCHit &other) const
Definition MutableRawHGCROCHit.h:120
MutableRawHGCROCHit()
default constructor
Definition MutableRawHGCROCHit.cc:18
std::int32_t getSamplePhase() const
Access the Phase of samples in [# samples], for synchronizing across chips.
Definition MutableRawHGCROCHit.cc:47
void setSamplePhase(const std::int32_t samplePhase)
Set the Phase of samples in [# samples], for synchronizing across chips.
Definition MutableRawHGCROCHit.cc:54
void addToSamples(const edm4eic::HGCROCSample &)
Definition MutableRawHGCROCHit.cc:62
Definition RawHGCROCHitCollection.h:137
Definition RawHGCROCHit.h:44
Definition CalorimeterHit.cc:17
OrderKey getOrderKey(const edm4eic::CalorimeterHit &obj)
Definition CalorimeterHit.cc:150
std::size_t operator()(const edm4eic::MutableRawHGCROCHit &obj) const
Definition MutableRawHGCROCHit.h:158