3#ifndef EDM4EIC_MCRecoTrackerHitAssociation_H
4#define EDM4EIC_MCRecoTrackerHitAssociation_H
9#include "podio/utilities/MaybeSharedPtr.h"
10#include "podio/detail/OrderKey.h"
15#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
16#include "nlohmann/json_fwd.hpp"
27class MutableSimTrackerHit;
33OrderKey
getOrderKey(
const edm4eic::MCRecoTrackerHitAssociation& obj);
85 static constexpr std::string_view
typeName =
"edm4eic::MCRecoTrackerHitAssociation";
94 const edm4hep::SimTrackerHit
getSimHit()
const;
101 void unlink() { m_obj = podio::utils::MaybeSharedPtr<MCRecoTrackerHitAssociationObj>{
nullptr}; }
116 friend std::hash<MCRecoTrackerHitAssociation>;
120 swap(a.m_obj, b.m_obj);
128 podio::utils::MaybeSharedPtr<MCRecoTrackerHitAssociationObj> m_obj{
nullptr};
133#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
143struct std::hash<
edm4eic::MCRecoTrackerHitAssociation> {
145 return std::hash<edm4eic::MCRecoTrackerHitAssociationObj*>{}(obj.m_obj.get());
153#if defined(__clang__)
154#pragma clang diagnostic push
155#pragma clang diagnostic ignored "-Wunknown-warning-option"
156#pragma clang diagnostic ignored "-Wdeprecated-redundant-constexpr-static-def"
157#pragma clang diagnostic ignored "-Wdeprecated"
159#pragma clang diagnostic pop
160#elif defined(__GNUC__)
161#pragma GCC diagnostic push
162#pragma GCC diagnostic ignored "-Wdeprecated"
164#pragma GCC diagnostic pop
Definition MCRecoTrackerHitAssociationCollectionData.h:32
Definition MCRecoTrackerHitAssociationCollection.h:137
Definition MCRecoTrackerHitAssociation.h:46
MutableMCRecoTrackerHitAssociation clone(bool cloneRelations=true) const
Definition MCRecoTrackerHitAssociation.cc:35
MCRecoTrackerHitAssociation()
default constructor
Definition MCRecoTrackerHitAssociation.cc:22
friend void swap(MCRecoTrackerHitAssociation &a, MCRecoTrackerHitAssociation &b)
Definition MCRecoTrackerHitAssociation.h:118
~MCRecoTrackerHitAssociation()=default
destructor
MCRecoTrackerHitAssociation & operator=(MCRecoTrackerHitAssociation other) &&=delete
bool operator<(const MCRecoTrackerHitAssociation &other) const
Definition MCRecoTrackerHitAssociation.h:110
MCRecoTrackerHitAssociation(const MCRecoTrackerHitAssociation &other)=default
copy constructor
friend class MCRecoTrackerHitAssociationCollectionIterator
Definition MCRecoTrackerHitAssociation.h:51
bool isAvailable() const
check whether the object is actually available
Definition MCRecoTrackerHitAssociation.cc:81
float getWeight() const
Access the weight of this association.
Definition MCRecoTrackerHitAssociation.cc:60
static constexpr std::string_view typeName
Definition MCRecoTrackerHitAssociation.h:85
MCRecoTrackerHitAssociation & operator=(MCRecoTrackerHitAssociation other) &
copy-assignment operator
Definition MCRecoTrackerHitAssociation.cc:30
friend class MutableMCRecoTrackerHitAssociation
Definition MCRecoTrackerHitAssociation.h:48
bool operator!=(const MutableMCRecoTrackerHitAssociation &other) const
Definition MCRecoTrackerHitAssociation.h:107
static MCRecoTrackerHitAssociation makeEmpty()
Definition MCRecoTrackerHitAssociation.cc:56
MCRecoTrackerHitAssociationCollection collection_type
Definition MCRecoTrackerHitAssociation.h:56
bool operator!=(const MCRecoTrackerHitAssociation &other) const
Definition MCRecoTrackerHitAssociation.h:106
MutableMCRecoTrackerHitAssociation mutable_type
Definition MCRecoTrackerHitAssociation.h:55
bool operator==(const MCRecoTrackerHitAssociation &other) const
Definition MCRecoTrackerHitAssociation.h:103
void unlink()
disconnect from MCRecoTrackerHitAssociationObj instance
Definition MCRecoTrackerHitAssociation.h:101
const podio::ObjectID getObjectID() const
Definition MCRecoTrackerHitAssociation.cc:85
podio::ObjectID id() const
Definition MCRecoTrackerHitAssociation.h:112
friend class MCRecoTrackerHitAssociationCollection
Definition MCRecoTrackerHitAssociation.h:49
const edm4eic::RawTrackerHit getRawHit() const
Access the reference to the digitized hit.
Definition MCRecoTrackerHitAssociation.cc:62
const edm4hep::SimTrackerHit getSimHit() const
Access the reference to the simulated hit.
Definition MCRecoTrackerHitAssociation.cc:69
Definition MCRecoTrackerHitAssociationObj.h:24
Definition MutableMCRecoTrackerHitAssociation.h:38
Definition MutableRawTrackerHit.h:33
Definition RawTrackerHit.h:41
Definition CalorimeterHit.cc:17
std::ostream & operator<<(std::ostream &o, const CalorimeterHit &value)
Definition CalorimeterHit.cc:103
Definition CalorimeterHit.h:25
Definition CalorimeterHit.h:31
OrderKey getOrderKey(const edm4eic::CalorimeterHit &obj)
Definition CalorimeterHit.cc:150
std::size_t operator()(const edm4eic::MCRecoTrackerHitAssociation &obj) const
Definition MCRecoTrackerHitAssociation.h:144