ATLAS Offline Software
TBScintillator.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TBEVENT_TBSCINTILLATOR_H
6 #define TBEVENT_TBSCINTILLATOR_H
7 // //
9 // Templated class for represenetation of scintillator signals (pulse //
10 // heights). Typical implementation: //
11 // //
12 // TBScintillator<unsigned short> theRawSignal; // raw signal //
13 // TBScintillator<double> theRecoSignal; // reconstructed signal //
14 // Modified: Jan 29th 2004 by Malachi Schram //
16 
17 
18 #include "TBEvent/TBBeamDetector.h"
19 
20 #include "AthenaKernel/CLASS_DEF.h"
21 
22 
23 
25 {
26  public:
27 
29  // Constructors and Destructor //
31 
33  , m_signal(0)
34  , m_time_signal(0)
35  , m_signal_overflow(false)
36  , m_time_overflow(false)
37  { }
38 
39  TBScintillator(const std::string& scintillatorName) : TBBeamDetector(scintillatorName,false)
40  , m_signal(0)
41  , m_time_signal(0)
42  , m_signal_overflow(false)
43  , m_time_overflow(false)
44  { }
45 
46 
47 
48  TBScintillator(const std::string& scintillatorName,
49  bool overflow,
50  float theSignal)
51  : TBBeamDetector(scintillatorName, overflow)
52  , m_signal(theSignal)
53  , m_time_signal(0)
54  , m_signal_overflow(false)
55  , m_time_overflow(false)
56  { }
57 
58  virtual ~TBScintillator()
59  { }
60 
62  // Data Manipulation //
64 
65  virtual void setSignal(float theSignal)
66  { m_signal = theSignal; }
67  virtual float getSignal() const
68  { return m_signal; }
69  virtual void setSignalOverflow(bool signal_overflow)
70  { m_signal_overflow = signal_overflow; }
71  virtual bool isSignalOverflow() const
72  { return m_signal_overflow; }
73 
74 
75  virtual void setTimeSignal(float theSignal)
76  { m_time_signal = theSignal; }
77  virtual float getTimeSignal() const
78  { return m_time_signal; }
79  virtual void setTimeOverflow(bool time_overflow)
80  { m_time_overflow = time_overflow; }
81  virtual bool isTimeOverflow() const
82  { return m_time_overflow; }
83 
84 
86  // Data //
88 
89  protected:
90 
93 
94 };
95 
96 
97 
98 
99 CLASS_DEF( TBScintillator , 132535898 , 1 )
100 
101 #endif
TBBeamDetector.h
TBScintillator::isSignalOverflow
virtual bool isSignalOverflow() const
Definition: TBScintillator.h:71
TBScintillator::getSignal
virtual float getSignal() const
Definition: TBScintillator.h:67
TBScintillator::setSignalOverflow
virtual void setSignalOverflow(bool signal_overflow)
Definition: TBScintillator.h:69
TBScintillator::m_signal
float m_signal
Definition: TBScintillator.h:91
TBScintillator::getTimeSignal
virtual float getTimeSignal() const
Definition: TBScintillator.h:77
TBScintillator::isTimeOverflow
virtual bool isTimeOverflow() const
Definition: TBScintillator.h:81
TBScintillator::TBScintillator
TBScintillator()
Definition: TBScintillator.h:32
TBScintillator::setSignal
virtual void setSignal(float theSignal)
Definition: TBScintillator.h:65
TBScintillator::m_time_signal
float m_time_signal
Definition: TBScintillator.h:91
TBScintillator::TBScintillator
TBScintillator(const std::string &scintillatorName, bool overflow, float theSignal)
Definition: TBScintillator.h:48
TBScintillator::m_time_overflow
bool m_time_overflow
Definition: TBScintillator.h:92
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:64
TBScintillator::~TBScintillator
virtual ~TBScintillator()
Definition: TBScintillator.h:58
TBScintillator::setTimeOverflow
virtual void setTimeOverflow(bool time_overflow)
Definition: TBScintillator.h:79
TBScintillator
Definition: TBScintillator.h:25
TBScintillator::m_signal_overflow
bool m_signal_overflow
Definition: TBScintillator.h:92
TBBeamDetector
Definition: TBBeamDetector.h:16
CLASS_DEF.h
macros to associate a CLID to a type
TBScintillator::setTimeSignal
virtual void setTimeSignal(float theSignal)
Definition: TBScintillator.h:75
TBScintillator::TBScintillator
TBScintillator(const std::string &scintillatorName)
Definition: TBScintillator.h:39