3#ifndef EDM4EIC_MCRecoCalorimeterHitAssociation_H
4#define EDM4EIC_MCRecoCalorimeterHitAssociation_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 MCRecoCalorimeterHitAssociationCollection;
24class RawCalorimeterHit;
25class MutableRawCalorimeterHit;
26class SimCalorimeterHit;
27class MutableSimCalorimeterHit;
38class MutableMCRecoCalorimeterHitAssociation;
39class MCRecoCalorimeterHitAssociationCollection;
40class MCRecoCalorimeterHitAssociationCollectionData;
84 static constexpr auto typeName =
"edm4eic::MCRecoCalorimeterHitAssociation";
91 const edm4hep::RawCalorimeterHit
getRawHit()
const;
93 const edm4hep::SimCalorimeterHit
getSimHit()
const;
100 void unlink() { m_obj = podio::utils::MaybeSharedPtr<MCRecoCalorimeterHitAssociationObj>{
nullptr}; }
117 swap(a.m_obj, b.m_obj);
125 podio::utils::MaybeSharedPtr<MCRecoCalorimeterHitAssociationObj> m_obj{
nullptr};
128std::ostream&
operator<<(std::ostream& o,
const MCRecoCalorimeterHitAssociation& value);
130#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
131void to_json(nlohmann::json& j,
const MCRecoCalorimeterHitAssociation& value);
Definition MCRecoCalorimeterHitAssociationCollectionData.h:32
Definition MCRecoCalorimeterHitAssociationCollection.h:91
Definition MCRecoCalorimeterHitAssociationCollection.h:36
Definition MCRecoCalorimeterHitAssociation.h:46
bool operator!=(const MCRecoCalorimeterHitAssociation &other) const
Definition MCRecoCalorimeterHitAssociation.h:105
bool operator<(const MCRecoCalorimeterHitAssociation &other) const
Definition MCRecoCalorimeterHitAssociation.h:109
bool isAvailable() const
check whether the object is actually available
Definition MCRecoCalorimeterHitAssociation.cc:81
void unlink()
disconnect from MCRecoCalorimeterHitAssociationObj instance
Definition MCRecoCalorimeterHitAssociation.h:100
MCRecoCalorimeterHitAssociation & operator=(MCRecoCalorimeterHitAssociation other)
copy-assignment operator
Definition MCRecoCalorimeterHitAssociation.cc:30
bool operator==(const MCRecoCalorimeterHitAssociation &other) const
Definition MCRecoCalorimeterHitAssociation.h:102
bool operator!=(const MutableMCRecoCalorimeterHitAssociation &other) const
Definition MCRecoCalorimeterHitAssociation.h:106
MCRecoCalorimeterHitAssociation(const MCRecoCalorimeterHitAssociation &other)=default
copy constructor
friend void swap(MCRecoCalorimeterHitAssociation &a, MCRecoCalorimeterHitAssociation &b)
Definition MCRecoCalorimeterHitAssociation.h:115
MCRecoCalorimeterHitAssociation()
default constructor
Definition MCRecoCalorimeterHitAssociation.cc:22
MutableMCRecoCalorimeterHitAssociation clone(bool cloneRelations=true) const
Definition MCRecoCalorimeterHitAssociation.cc:35
const podio::ObjectID getObjectID() const
Definition MCRecoCalorimeterHitAssociation.cc:85
static constexpr auto typeName
Definition MCRecoCalorimeterHitAssociation.h:84
const edm4hep::SimCalorimeterHit getSimHit() const
Access the reference to the simulated calorimeter hit.
Definition MCRecoCalorimeterHitAssociation.cc:69
const edm4hep::RawCalorimeterHit getRawHit() const
Access the reference to the digitized calorimeter hit.
Definition MCRecoCalorimeterHitAssociation.cc:62
podio::ObjectID id() const
Definition MCRecoCalorimeterHitAssociation.h:111
static MCRecoCalorimeterHitAssociation makeEmpty()
Definition MCRecoCalorimeterHitAssociation.cc:56
~MCRecoCalorimeterHitAssociation()=default
destructor
friend class MCRecoCalorimeterHitAssociationCollection
Definition MCRecoCalorimeterHitAssociation.h:49
friend class MutableMCRecoCalorimeterHitAssociation
Definition MCRecoCalorimeterHitAssociation.h:48
float getWeight() const
Access the weight of this association.
Definition MCRecoCalorimeterHitAssociation.cc:60
Definition MCRecoCalorimeterHitAssociationObj.h:22
Definition MutableMCRecoCalorimeterHitAssociation.h:38
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