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"
21class MCRecoTrackerHitAssociationCollection;
23class MutableRawTrackerHit;
27class MutableSimTrackerHit;
38class MutableMCRecoTrackerHitAssociation;
39class MCRecoTrackerHitAssociationCollection;
40class MCRecoTrackerHitAssociationCollectionData;
84 static constexpr auto typeName =
"edm4eic::MCRecoTrackerHitAssociation";
93 const edm4hep::SimTrackerHit
getSimHit()
const;
100 void unlink() { m_obj = podio::utils::MaybeSharedPtr<MCRecoTrackerHitAssociationObj>{
nullptr}; }
117 swap(a.m_obj, b.m_obj);
125 podio::utils::MaybeSharedPtr<MCRecoTrackerHitAssociationObj> m_obj{
nullptr};
128std::ostream&
operator<<(std::ostream& o,
const MCRecoTrackerHitAssociation& value);
130#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
131void to_json(nlohmann::json& j,
const MCRecoTrackerHitAssociation& value);
Definition MCRecoTrackerHitAssociationCollectionData.h:32
Definition MCRecoTrackerHitAssociationCollection.h:91
Definition MCRecoTrackerHitAssociationCollection.h:36
Definition MCRecoTrackerHitAssociation.h:46
MutableMCRecoTrackerHitAssociation clone(bool cloneRelations=true) const
Definition MCRecoTrackerHitAssociation.cc:35
MCRecoTrackerHitAssociation & operator=(MCRecoTrackerHitAssociation other)
copy-assignment operator
Definition MCRecoTrackerHitAssociation.cc:30
MCRecoTrackerHitAssociation()
default constructor
Definition MCRecoTrackerHitAssociation.cc:22
friend void swap(MCRecoTrackerHitAssociation &a, MCRecoTrackerHitAssociation &b)
Definition MCRecoTrackerHitAssociation.h:115
~MCRecoTrackerHitAssociation()=default
destructor
bool operator<(const MCRecoTrackerHitAssociation &other) const
Definition MCRecoTrackerHitAssociation.h:109
MCRecoTrackerHitAssociation(const MCRecoTrackerHitAssociation &other)=default
copy constructor
static constexpr auto typeName
Definition MCRecoTrackerHitAssociation.h:84
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
friend class MutableMCRecoTrackerHitAssociation
Definition MCRecoTrackerHitAssociation.h:48
bool operator!=(const MutableMCRecoTrackerHitAssociation &other) const
Definition MCRecoTrackerHitAssociation.h:106
static MCRecoTrackerHitAssociation makeEmpty()
Definition MCRecoTrackerHitAssociation.cc:56
bool operator!=(const MCRecoTrackerHitAssociation &other) const
Definition MCRecoTrackerHitAssociation.h:105
bool operator==(const MCRecoTrackerHitAssociation &other) const
Definition MCRecoTrackerHitAssociation.h:102
void unlink()
disconnect from MCRecoTrackerHitAssociationObj instance
Definition MCRecoTrackerHitAssociation.h:100
const podio::ObjectID getObjectID() const
Definition MCRecoTrackerHitAssociation.cc:85
podio::ObjectID id() const
Definition MCRecoTrackerHitAssociation.h:111
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 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