3#ifndef EDM4EIC_RawHGCROCHit_H
4#define EDM4EIC_RawHGCROCHit_H
9#include "podio/RelationRange.h"
13#include "podio/utilities/MaybeSharedPtr.h"
14#include "podio/detail/OrderKey.h"
19#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
20#include "nlohmann/json_fwd.hpp"
31OrderKey
getOrderKey(
const edm4eic::RawHGCROCHit& obj);
60 RawHGCROCHit(
const std::uint64_t cellID,
const std::int32_t samplePhase,
const std::int32_t timeStamp);
83 static constexpr std::string_view
typeName =
"edm4eic::RawHGCROCHit";
98 std::vector<edm4eic::HGCROCSample>::const_iterator
samples_begin()
const;
99 std::vector<edm4eic::HGCROCSample>::const_iterator
samples_end()
const;
100 podio::RelationRange<edm4eic::HGCROCSample>
getSamples()
const;
106 void unlink() { m_obj = podio::utils::MaybeSharedPtr<RawHGCROCHitObj>{
nullptr}; }
121 friend std::hash<RawHGCROCHit>;
125 swap(a.m_obj, b.m_obj);
130 explicit RawHGCROCHit(podio::utils::MaybeSharedPtr<RawHGCROCHitObj> obj);
133 podio::utils::MaybeSharedPtr<RawHGCROCHitObj> m_obj{
nullptr};
138#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
139void to_json(nlohmann::json& j,
const RawHGCROCHit& value);
150 return std::hash<edm4eic::RawHGCROCHitObj*>{}(obj.m_obj.get());
158#if defined(__clang__)
159#pragma clang diagnostic push
160#pragma clang diagnostic ignored "-Wunknown-warning-option"
161#pragma clang diagnostic ignored "-Wdeprecated-redundant-constexpr-static-def"
162#pragma clang diagnostic ignored "-Wdeprecated"
164#pragma clang diagnostic pop
165#elif defined(__GNUC__)
166#pragma GCC diagnostic push
167#pragma GCC diagnostic ignored "-Wdeprecated"
169#pragma GCC diagnostic pop
Definition HGCROCSample.h:19
Definition MutableRawHGCROCHit.h:36
Definition RawHGCROCHitCollectionData.h:30
Definition RawHGCROCHitCollection.h:137
Definition RawHGCROCHit.h:44
const podio::ObjectID getObjectID() const
Definition RawHGCROCHit.cc:110
bool isAvailable() const
check whether the object is actually available
Definition RawHGCROCHit.cc:106
friend class RawHGCROCHitCollection
Definition RawHGCROCHit.h:47
bool operator==(const RawHGCROCHit &other) const
Definition RawHGCROCHit.h:108
~RawHGCROCHit()=default
destructor
std::int32_t getSamplePhase() const
Access the Phase of samples in [# samples], for synchronizing across chips.
Definition RawHGCROCHit.cc:66
friend class RawHGCROCHitCollectionIterator
Definition RawHGCROCHit.h:49
MutableRawHGCROCHit mutable_type
Definition RawHGCROCHit.h:53
static constexpr std::string_view typeName
Definition RawHGCROCHit.h:83
MutableRawHGCROCHit clone(bool cloneRelations=true) const
Definition RawHGCROCHit.cc:35
void unlink()
disconnect from RawHGCROCHitObj instance
Definition RawHGCROCHit.h:106
podio::ObjectID id() const
Definition RawHGCROCHit.h:117
bool operator!=(const RawHGCROCHit &other) const
Definition RawHGCROCHit.h:111
std::uint64_t getCellID() const
Access the Detector specific (geometrical) cell id.
Definition RawHGCROCHit.cc:65
static RawHGCROCHit makeEmpty()
Definition RawHGCROCHit.cc:61
friend class MutableRawHGCROCHit
Definition RawHGCROCHit.h:46
bool operator<(const RawHGCROCHit &other) const
Definition RawHGCROCHit.h:115
std::vector< edm4eic::HGCROCSample >::const_iterator samples_begin() const
Definition RawHGCROCHit.cc:71
podio::RelationRange< edm4eic::HGCROCSample > getSamples() const
Definition RawHGCROCHit.cc:94
bool operator!=(const MutableRawHGCROCHit &other) const
Definition RawHGCROCHit.h:112
RawHGCROCHit(const RawHGCROCHit &other)=default
copy constructor
RawHGCROCHit & operator=(RawHGCROCHit other) &&=delete
friend void swap(RawHGCROCHit &a, RawHGCROCHit &b)
Definition RawHGCROCHit.h:123
RawHGCROCHit & operator=(RawHGCROCHit other) &
copy-assignment operator
Definition RawHGCROCHit.cc:30
RawHGCROCHitCollection collection_type
Definition RawHGCROCHit.h:54
RawHGCROCHit()
default constructor
Definition RawHGCROCHit.cc:20
std::size_t samples_size() const
Definition RawHGCROCHit.cc:83
std::int32_t getTimeStamp() const
Access the [TDC counts].
Definition RawHGCROCHit.cc:67
std::vector< edm4eic::HGCROCSample >::const_iterator samples_end() const
Definition RawHGCROCHit.cc:77
Definition RawHGCROCHitObj.h:20
Definition CalorimeterHit.cc:17
std::ostream & operator<<(std::ostream &o, const CalorimeterHit &value)
Definition CalorimeterHit.cc:103
Definition CalorimeterHit.h:31
OrderKey getOrderKey(const edm4eic::CalorimeterHit &obj)
Definition CalorimeterHit.cc:150
std::size_t operator()(const edm4eic::RawHGCROCHit &obj) const
Definition RawHGCROCHit.h:149