ATLAS Offline Software
Loading...
Searching...
No Matches
TBBPC.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TBEVENT_TBBPC_H
6#define TBEVENT_TBBPC_H
8// //
9// Reconstructed BPC data //
10// //
12
13#include <string>
14
16
17
19
20
21
22class TBBPC : public TBBeamDetector
23{
24 public:
25
26 typedef double signal_type;
27
29 // Constructors and Destructor //
31
32 TBBPC();
33
34 TBBPC(const std::string& thisBPCName);
35
36 ~TBBPC();
37
39 // Data Manipulation //
41
42 // set signals
43 void setXPos(signal_type theSignal);
44 void setYPos(signal_type theSignal);
45 void setXErr(signal_type theSignal);
46 void setYErr(signal_type theSignal);
47
48 void setXPulse(signal_type theSignal);
49 void setYPulse(signal_type theSignal);
50
51 void setHitNbr(int hitnbr);
52
53 // set/reset overflow
54 void setXPosOverflow(bool overflow=true);
55 void setYPosOverflow(bool overflow=true);
56 void setXPulseOverflow(bool overflow=true);
57 void setYPulseOverflow(bool overflow=true);
58
59 // void resetXPosOverflow();
60 // void resetYPosOverflow();
61 // void resetXPulseOverflow();
62 // void resetYPulseOverflow();
63
64 // void setXPosOverflow(bool overflow);
65 // void setYPosOverflow(bool overflow);
66 // void setXPulseOverflow(bool overflow);
67 // void setYPulseOverflow(bool overflow);
68
69 // set global overflow
70 // virtual void setOverflow();
71 // virtual void setOverflow(bool overflow);
72 // virtual void resetOverflow();
73
74 // access signals
75 inline signal_type getXPos() const
76 { return (signal_type) m_xPos; }
77 inline signal_type getYPos() const
78 { return (signal_type) m_yPos; }
79
80 inline signal_type getXErr() const
81 { return (signal_type) m_xErr; }
82 inline signal_type getYErr() const
83 { return (signal_type) m_yErr; }
84
85 inline signal_type getXPulse() const
86 { return m_xPulse; }
87 inline signal_type getYPulse() const
88 { return m_yPulse; }
89 inline int getHitNbr() const
90 {return m_hitnumber;}
91
92 // access overflow for each variable
93 inline bool isXPosOverflow() const
94 { return m_xPosOverflow; }
95 inline bool isYPosOverflow() const
96 { return m_yPosOverflow; }
97 inline bool isXPulseOverflow() const
98 { return m_xPulseOverflow; }
99 inline bool isYPulseOverflow() const
100 { return m_yPulseOverflow; }
101
102 // data class reset
103 void reset();
104
105 private:
106
108 // Private Data //
110
111
112 // reconstructed (x,y)
115
116 // associated pulse height sums
118
119 // BPC can distinguish between "0" or "1 or more" particle hits
121
122 // overflow indicators
125};
126
127CLASS_DEF( TBBPC , 228151918 , 1 )
128#endif
129
130
131
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition TBBPC.h:23
~TBBPC()
Definition TBBPC.cxx:25
bool isXPosOverflow() const
Definition TBBPC.h:93
void setYPos(signal_type theSignal)
Definition TBBPC.cxx:54
signal_type getYErr() const
Definition TBBPC.h:82
void setXPos(signal_type theSignal)
Definition TBBPC.cxx:49
bool m_xPosOverflow
Definition TBBPC.h:123
bool isXPulseOverflow() const
Definition TBBPC.h:97
signal_type getYPulse() const
Definition TBBPC.h:87
signal_type m_yErr
Definition TBBPC.h:114
void setXPulseOverflow(bool overflow=true)
Definition TBBPC.cxx:94
void setHitNbr(int hitnbr)
Definition TBBPC.cxx:79
int getHitNbr() const
Definition TBBPC.h:89
void setYErr(signal_type theSignal)
Definition TBBPC.cxx:64
void setXErr(signal_type theSignal)
Definition TBBPC.cxx:59
void setYPulseOverflow(bool overflow=true)
Definition TBBPC.cxx:99
bool m_xPulseOverflow
Definition TBBPC.h:124
signal_type getXPos() const
Definition TBBPC.h:75
bool isYPulseOverflow() const
Definition TBBPC.h:99
bool m_yPulseOverflow
Definition TBBPC.h:124
signal_type getXPulse() const
Definition TBBPC.h:85
void setYPosOverflow(bool overflow=true)
Definition TBBPC.cxx:89
signal_type m_xPos
Definition TBBPC.h:113
signal_type m_yPos
Definition TBBPC.h:113
TBBPC()
Definition TBBPC.cxx:13
signal_type m_xPulse
Definition TBBPC.h:117
double signal_type
Definition TBBPC.h:26
short m_hitnumber
Definition TBBPC.h:120
void setYPulse(signal_type theSignal)
Definition TBBPC.cxx:74
bool isYPosOverflow() const
Definition TBBPC.h:95
signal_type getYPos() const
Definition TBBPC.h:77
void setXPosOverflow(bool overflow=true)
Definition TBBPC.cxx:84
signal_type getXErr() const
Definition TBBPC.h:80
void reset()
Definition TBBPC.cxx:32
signal_type m_yPulse
Definition TBBPC.h:117
signal_type m_xErr
Definition TBBPC.h:114
bool m_yPosOverflow
Definition TBBPC.h:123
void setXPulse(signal_type theSignal)
Definition TBBPC.cxx:69