EICd
EIC data model
Cluster3DInfoConst.h
Go to the documentation of this file.
1 // AUTOMATICALLY GENERATED FILE - DO NOT EDIT
2 
3 #ifndef EICD_ConstCluster3DInfo_H
4 #define EICD_ConstCluster3DInfo_H
5 
7 
8 #include "eicd/Direction.h"
9 #include "eicd/Index.h"
10 #include "eicd/VectorPolar.h"
11 #include "podio/ObjectID.h"
12 
13 
14 
15 namespace eic {
16 
17 
18 /** @class ConstCluster3DInfo
19  * Additional info for 3D clusters
20  * @author: S. Joosten
21  */
23 
24  friend class Cluster3DInfo;
27 
28 public:
29  /// default constructor
32 
33  /// constructor from existing Cluster3DInfoObj
35 
36  /// copy constructor
38 
39  /// copy-assignment operator
41 
42  /// support cloning (deep-copy)
43  ConstCluster3DInfo clone() const;
44 
45  /// destructor
47 
48 
49 public:
50 
51  /// Access the Primary cluster ID
52  const eic::Index& clusterID() const;
53 
54  /// Access the Cluster position polar information
55  const eic::VectorPolar& polar() const;
56 
57  /// Access the Cluster pseudorapidity
58  const float& eta() const;
59 
60  /// Access the Intrinsic direction of the cluster at the central position [rad, 0->pi and -pi->pi]
61  const eic::Direction& direction() const;
62 
63 
64 
65 
66 
67  /// check whether the object is actually available
68  bool isAvailable() const;
69  /// disconnect from Cluster3DInfoObj instance
70  void unlink() { m_obj = nullptr; }
71 
72  bool operator==(const ConstCluster3DInfo& other) const { return m_obj == other.m_obj; }
73  bool operator==(const Cluster3DInfo& other) const;
74 
75  // less comparison operator, so that objects can be e.g. stored in sets.
76  bool operator<(const ConstCluster3DInfo& other) const { return m_obj < other.m_obj; }
77 
78  unsigned int id() const { return getObjectID().collectionID * 10000000 + getObjectID().index; }
79 
80  const podio::ObjectID getObjectID() const;
81 
82 private:
83  Cluster3DInfoObj* m_obj;
84 };
85 
86 } // namespace eic
87 
88 
89 #endif
eic::Index
Definition: Index.h:11
eic::ConstCluster3DInfo::unlink
void unlink()
disconnect from Cluster3DInfoObj instance
Definition: Cluster3DInfoConst.h:70
eic::ConstCluster3DInfo::ConstCluster3DInfo
ConstCluster3DInfo()
default constructor
Definition: Cluster3DInfoConst.cc:16
eic::Cluster3DInfoConstCollectionIterator
Definition: Cluster3DInfoCollection.h:51
eic
Definition: BasicParticle.cc:13
eic::ConstCluster3DInfo::clone
ConstCluster3DInfo clone() const
support cloning (deep-copy)
Definition: Cluster3DInfoConst.cc:42
eic::Cluster3DInfoCollection
Definition: Cluster3DInfoCollection.h:76
eic::ConstCluster3DInfo::direction
const eic::Direction & direction() const
Access the Intrinsic direction of the cluster at the central position [rad, 0->pi and -pi->pi].
Definition: Cluster3DInfoConst.cc:52
eic::Cluster3DInfo
Definition: Cluster3DInfo.h:24
eic::ConstCluster3DInfo::isAvailable
bool isAvailable() const
check whether the object is actually available
Definition: Cluster3DInfoConst.cc:59
eic::VectorPolar
Definition: VectorPolar.h:13
eic::ConstCluster3DInfo::clusterID
const eic::Index & clusterID() const
Access the Primary cluster ID.
Definition: Cluster3DInfoConst.cc:49
eic::ConstCluster3DInfo::operator=
ConstCluster3DInfo & operator=(const ConstCluster3DInfo &other)
copy-assignment operator
Definition: Cluster3DInfoConst.cc:32
Cluster3DInfoObj.h
eic::ConstCluster3DInfo::operator<
bool operator<(const ConstCluster3DInfo &other) const
Definition: Cluster3DInfoConst.h:76
eic::ConstCluster3DInfo::eta
const float & eta() const
Access the Cluster pseudorapidity.
Definition: Cluster3DInfoConst.cc:51
eic::ConstCluster3DInfo::polar
const eic::VectorPolar & polar() const
Access the Cluster position polar information.
Definition: Cluster3DInfoConst.cc:50
eic::ConstCluster3DInfo::~ConstCluster3DInfo
~ConstCluster3DInfo()
destructor
Definition: Cluster3DInfoConst.cc:46
eic::ConstCluster3DInfo::getObjectID
const podio::ObjectID getObjectID() const
Definition: Cluster3DInfoConst.cc:66
VectorPolar.h
eic::ConstCluster3DInfo::id
unsigned int id() const
Definition: Cluster3DInfoConst.h:78
eic::Cluster3DInfoObj
Definition: Cluster3DInfoObj.h:18
eic::ConstCluster3DInfo
Definition: Cluster3DInfoConst.h:22
Index.h
Direction.h
eic::Direction
Definition: Direction.h:13
eic::ConstCluster3DInfo::operator==
bool operator==(const ConstCluster3DInfo &other) const
Definition: Cluster3DInfoConst.h:72