3#ifndef EDM4EIC_MutableRawTrackerHit_H
4#define EDM4EIC_MutableRawTrackerHit_H
12#include "podio/utilities/MaybeSharedPtr.h"
16#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
17#include "nlohmann/json_fwd.hpp"
47 MutableRawTrackerHit(
const std::uint64_t cellID,
const std::int32_t charge,
const std::int32_t timeStamp);
78 void setCellID(
const std::uint64_t cellID);
83 void setCharge(
const std::int32_t charge);
100 void unlink() { m_obj = podio::utils::MaybeSharedPtr<RawTrackerHitObj>{
nullptr}; }
115 friend std::hash<MutableRawTrackerHit>;
119 swap(a.m_obj, b.m_obj);
126 podio::utils::MaybeSharedPtr<RawTrackerHitObj> m_obj{
new RawTrackerHitObj{}, podio::utils::MarkOwned};
129#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
139struct std::hash<
edm4eic::MutableRawTrackerHit> {
141 return std::hash<edm4eic::RawTrackerHitObj*>{}(obj.m_obj.get());
Definition MutableRawTrackerHit.h:33
void setCharge(const std::int32_t charge)
Set the ADC value.
Definition MutableRawTrackerHit.cc:46
~MutableRawTrackerHit()=default
destructor
void unlink()
disconnect from RawTrackerHitObj instance
Definition MutableRawTrackerHit.h:100
void setTimeStamp(const std::int32_t timeStamp)
Set the TDC value.
Definition MutableRawTrackerHit.cc:48
constexpr bool operator!=(const MutableRawTrackerHit &other) const
Definition MutableRawTrackerHit.h:105
void setCellID(const std::uint64_t cellID)
Set the The detector specific (geometrical) cell id.
Definition MutableRawTrackerHit.cc:44
std::int32_t getTimeStamp() const
Access the TDC value.
Definition MutableRawTrackerHit.cc:41
MutableRawTrackerHit()=default
default constructor
MutableRawTrackerHit & operator=(MutableRawTrackerHit other) &
copy-assignment operator
Definition MutableRawTrackerHit.cc:24
friend void swap(MutableRawTrackerHit &a, MutableRawTrackerHit &b)
Definition MutableRawTrackerHit.h:117
bool isAvailable() const
check whether the object is actually available
Definition MutableRawTrackerHit.cc:57
friend class RawTrackerHitMutableCollectionIterator
Definition MutableRawTrackerHit.h:36
std::uint64_t getCellID() const
Access the The detector specific (geometrical) cell id.
Definition MutableRawTrackerHit.cc:39
bool operator!=(const RawTrackerHit &other) const
Definition MutableRawTrackerHit.h:106
RawTrackerHitCollection collection_type
Definition MutableRawTrackerHit.h:41
bool operator<(const MutableRawTrackerHit &other) const
Definition MutableRawTrackerHit.h:109
const podio::ObjectID getObjectID() const
Definition MutableRawTrackerHit.cc:61
MutableRawTrackerHit(const MutableRawTrackerHit &other)=default
copy constructor
MutableRawTrackerHit clone(bool cloneRelations=true) const
Definition MutableRawTrackerHit.cc:29
friend class RawTrackerHitCollection
Definition MutableRawTrackerHit.h:35
MutableRawTrackerHit & operator=(MutableRawTrackerHit other) &&=delete
constexpr bool operator==(const MutableRawTrackerHit &other) const
Definition MutableRawTrackerHit.h:102
podio::ObjectID id() const
Definition MutableRawTrackerHit.h:111
std::int32_t getCharge() const
Access the ADC value.
Definition MutableRawTrackerHit.cc:40
RawTrackerHit object_type
Definition MutableRawTrackerHit.h:40
friend class RawTrackerHit
Definition MutableRawTrackerHit.h:37
Definition RawTrackerHitCollection.h:139
Definition RawTrackerHit.h:41
Definition RawTrackerHitObj.h:17
Definition ArrowMapper.cc:61
OrderKey getOrderKey(const edm4eic::CalorimeterHit &obj)
Definition CalorimeterHit.cc:146
std::size_t operator()(const edm4eic::MutableRawTrackerHit &obj) const
Definition MutableRawTrackerHit.h:140