EDM4eic
EIC data model
Loading...
Searching...
No Matches
MCRecoCalorimeterHitAssociation.h
Go to the documentation of this file.
1// AUTOMATICALLY GENERATED FILE - DO NOT EDIT
2
3#ifndef EDM4EIC_MCRecoCalorimeterHitAssociation_H
4#define EDM4EIC_MCRecoCalorimeterHitAssociation_H
5
7
8
9#include "podio/utilities/MaybeSharedPtr.h"
10
11#include <ostream>
12#include <cstddef>
13
14#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
15#include "nlohmann/json_fwd.hpp"
16#endif
17
18// forward declarations
19namespace edm4hep {
20class RawCalorimeterHit;
21class MutableRawCalorimeterHit;
22class SimCalorimeterHit;
23class MutableSimCalorimeterHit;
24}
25
26
27namespace edm4eic {
28
29class MutableMCRecoCalorimeterHitAssociation;
30class MCRecoCalorimeterHitAssociationCollection;
31class MCRecoCalorimeterHitAssociationCollectionData;
32
33/** @class MCRecoCalorimeterHitAssociation
34 * Association between a RawCalorimeterHit and a SimCalorimeterHit
35 * @author: S. Rahman
36 */
38
43
44public:
47
48 /// default constructor
50
51 /// Constructor initializing all members
53
54 /// copy constructor
56
57 /// copy-assignment operator
59
60 /// create a mutable deep-copy of the object with identical relations
62
63 /// destructor
65
66
68
69public:
70
71 /// Access the weight of this association
72 float getWeight() const;
73
74
75 /// Access the reference to the digitized calorimeter hit
76 const edm4hep::RawCalorimeterHit getRawHit() const;
77 /// Access the reference to the simulated calorimeter hit
78 const edm4hep::SimCalorimeterHit getSimHit() const;
79
80
81
82 /// check whether the object is actually available
83 bool isAvailable() const;
84 /// disconnect from MCRecoCalorimeterHitAssociationObj instance
85 void unlink() { m_obj = podio::utils::MaybeSharedPtr<MCRecoCalorimeterHitAssociationObj>{nullptr}; }
86
87 bool operator==(const MCRecoCalorimeterHitAssociation& other) const { return m_obj == other.m_obj; }
89
90 // less comparison operator, so that objects can be e.g. stored in sets.
91 bool operator<(const MCRecoCalorimeterHitAssociation& other) const { return m_obj < other.m_obj; }
92
93 podio::ObjectID id() const { return getObjectID(); }
94
95 const podio::ObjectID getObjectID() const;
96
98 using std::swap;
99 swap(a.m_obj, b.m_obj); // swap out the internal pointers
100 }
101
102private:
103 /// constructor from existing MCRecoCalorimeterHitAssociationObj
104 explicit MCRecoCalorimeterHitAssociation(podio::utils::MaybeSharedPtr<MCRecoCalorimeterHitAssociationObj> obj);
106
107 podio::utils::MaybeSharedPtr<MCRecoCalorimeterHitAssociationObj> m_obj{nullptr};
108};
109
110std::ostream& operator<<(std::ostream& o, const MCRecoCalorimeterHitAssociation& value);
111
112#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
113void to_json(nlohmann::json& j, const MCRecoCalorimeterHitAssociation& value);
114#endif
115
116
117} // namespace edm4eic
118
119
120#endif
Definition MCRecoCalorimeterHitAssociationCollectionData.h:32
Definition MCRecoCalorimeterHitAssociationCollection.h:95
Definition MCRecoCalorimeterHitAssociationCollection.h:40
Definition MCRecoCalorimeterHitAssociation.h:37
bool operator<(const MCRecoCalorimeterHitAssociation &other) const
Definition MCRecoCalorimeterHitAssociation.h:91
bool isAvailable() const
check whether the object is actually available
Definition MCRecoCalorimeterHitAssociation.cc:69
void unlink()
disconnect from MCRecoCalorimeterHitAssociationObj instance
Definition MCRecoCalorimeterHitAssociation.h:85
MCRecoCalorimeterHitAssociation & operator=(MCRecoCalorimeterHitAssociation other)
copy-assignment operator
Definition MCRecoCalorimeterHitAssociation.cc:31
bool operator==(const MCRecoCalorimeterHitAssociation &other) const
Definition MCRecoCalorimeterHitAssociation.h:87
MCRecoCalorimeterHitAssociation(const MCRecoCalorimeterHitAssociation &other)=default
copy constructor
friend void swap(MCRecoCalorimeterHitAssociation &a, MCRecoCalorimeterHitAssociation &b)
Definition MCRecoCalorimeterHitAssociation.h:97
MCRecoCalorimeterHitAssociation()
default constructor
Definition MCRecoCalorimeterHitAssociation.cc:23
const podio::ObjectID getObjectID() const
Definition MCRecoCalorimeterHitAssociation.cc:76
const edm4hep::SimCalorimeterHit getSimHit() const
Access the reference to the simulated calorimeter hit.
Definition MCRecoCalorimeterHitAssociation.cc:57
const edm4hep::RawCalorimeterHit getRawHit() const
Access the reference to the digitized calorimeter hit.
Definition MCRecoCalorimeterHitAssociation.cc:50
podio::ObjectID id() const
Definition MCRecoCalorimeterHitAssociation.h:93
static MCRecoCalorimeterHitAssociation makeEmpty()
Definition MCRecoCalorimeterHitAssociation.cc:44
~MCRecoCalorimeterHitAssociation()=default
destructor
friend class MCRecoCalorimeterHitAssociationCollection
Definition MCRecoCalorimeterHitAssociation.h:40
friend class MutableMCRecoCalorimeterHitAssociation
Definition MCRecoCalorimeterHitAssociation.h:39
float getWeight() const
Access the weight of this association.
Definition MCRecoCalorimeterHitAssociation.cc:48
MutableMCRecoCalorimeterHitAssociation clone() const
create a mutable deep-copy of the object with identical relations
Definition MCRecoCalorimeterHitAssociation.cc:36
Definition MCRecoCalorimeterHitAssociationObj.h:22
Definition MutableMCRecoCalorimeterHitAssociation.h:36
Definition CalorimeterHit.cc:18
std::ostream & operator<<(std::ostream &o, const CalorimeterHit &value)
Definition CalorimeterHit.cc:97
Definition CalorimeterHit.h:21