EICd
EIC data model
RawPMTHitConst.h
Go to the documentation of this file.
1 // AUTOMATICALLY GENERATED FILE - DO NOT EDIT
2 
3 #ifndef EICD_ConstRawPMTHit_H
4 #define EICD_ConstRawPMTHit_H
5 
6 #include "eicd/RawPMTHitObj.h"
7 
8 #include "eicd/Index.h"
9 #include "podio/ObjectID.h"
10 
11 
12 
13 namespace eic {
14 
15 
16 /** @class ConstRawPMTHit
17  * EIC Raw PMT hit
18  * @author: S. Joosten, C. Peng
19  */
21 
22  friend class RawPMTHit;
23  friend class RawPMTHitCollection;
25 
26 public:
27  /// default constructor
29  ConstRawPMTHit(eic::Index ID, std::int64_t cellID, std::uint32_t amplitude, std::uint32_t time);
30 
31  /// constructor from existing RawPMTHitObj
33 
34  /// copy constructor
35  ConstRawPMTHit(const ConstRawPMTHit& other);
36 
37  /// copy-assignment operator
39 
40  /// support cloning (deep-copy)
41  ConstRawPMTHit clone() const;
42 
43  /// destructor
45 
46 
47 public:
48 
49  /// Access the unique hit ID
50  const eic::Index& ID() const;
51 
52  /// Access the The detector specific (geometrical) cell id.
53  const std::int64_t& cellID() const;
54 
55  /// Access the PMT signal amplitude [ADC]
56  const std::uint32_t& amplitude() const;
57 
58  /// Access the PMT signal time [TDC]
59  const std::uint32_t& time() const;
60 
61 
62 
63 
64 
65  /// check whether the object is actually available
66  bool isAvailable() const;
67  /// disconnect from RawPMTHitObj instance
68  void unlink() { m_obj = nullptr; }
69 
70  bool operator==(const ConstRawPMTHit& other) const { return m_obj == other.m_obj; }
71  bool operator==(const RawPMTHit& other) const;
72 
73  // less comparison operator, so that objects can be e.g. stored in sets.
74  bool operator<(const ConstRawPMTHit& other) const { return m_obj < other.m_obj; }
75 
76  unsigned int id() const { return getObjectID().collectionID * 10000000 + getObjectID().index; }
77 
78  const podio::ObjectID getObjectID() const;
79 
80 private:
81  RawPMTHitObj* m_obj;
82 };
83 
84 } // namespace eic
85 
86 
87 #endif
eic::Index
Definition: Index.h:11
eic::ConstRawPMTHit::unlink
void unlink()
disconnect from RawPMTHitObj instance
Definition: RawPMTHitConst.h:68
eic::ConstRawPMTHit::id
unsigned int id() const
Definition: RawPMTHitConst.h:76
eic::RawPMTHitConstCollectionIterator
Definition: RawPMTHitCollection.h:51
eic::ConstRawPMTHit::clone
ConstRawPMTHit clone() const
support cloning (deep-copy)
Definition: RawPMTHitConst.cc:42
eic::RawPMTHit
Definition: RawPMTHit.h:22
eic::RawPMTHitCollection
Definition: RawPMTHitCollection.h:76
eic
Definition: BasicParticle.cc:13
eic::ConstRawPMTHit::operator=
ConstRawPMTHit & operator=(const ConstRawPMTHit &other)
copy-assignment operator
Definition: RawPMTHitConst.cc:32
eic::ConstRawPMTHit::operator==
bool operator==(const ConstRawPMTHit &other) const
Definition: RawPMTHitConst.h:70
RawPMTHitObj.h
eic::ConstRawPMTHit::ConstRawPMTHit
ConstRawPMTHit()
default constructor
Definition: RawPMTHitConst.cc:16
eic::ConstRawPMTHit::cellID
const std::int64_t & cellID() const
Access the The detector specific (geometrical) cell id.
Definition: RawPMTHitConst.cc:50
eic::ConstRawPMTHit::~ConstRawPMTHit
~ConstRawPMTHit()
destructor
Definition: RawPMTHitConst.cc:46
eic::ConstRawPMTHit::isAvailable
bool isAvailable() const
check whether the object is actually available
Definition: RawPMTHitConst.cc:59
eic::RawPMTHitObj
Definition: RawPMTHitObj.h:18
eic::ConstRawPMTHit::amplitude
const std::uint32_t & amplitude() const
Access the PMT signal amplitude [ADC].
Definition: RawPMTHitConst.cc:51
Index.h
eic::ConstRawPMTHit::time
const std::uint32_t & time() const
Access the PMT signal time [TDC].
Definition: RawPMTHitConst.cc:52
eic::ConstRawPMTHit
Definition: RawPMTHitConst.h:20
eic::ConstRawPMTHit::operator<
bool operator<(const ConstRawPMTHit &other) const
Definition: RawPMTHitConst.h:74
eic::ConstRawPMTHit::getObjectID
const podio::ObjectID getObjectID() const
Definition: RawPMTHitConst.cc:66
eic::ConstRawPMTHit::ID
const eic::Index & ID() const
Access the unique hit ID.
Definition: RawPMTHitConst.cc:49