ATLAS Offline Software
TBScintillatorRaw.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_TBSCINTILLATORRaw_H
6 #define TBEVENT_TBSCINTILLATORRaw_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 #include "TBEvent/TBTDCRawCont.h"
20 #include "TBEvent/TBADCRawCont.h"
21 #include "AthLinks/ElementLink.h"
22 #include "AthenaKernel/CLASS_DEF.h"
23 
24 
26 {
27  public:
28 
32  // Constructors and Destructor //
34 
36  { }
37 
38  TBScintillatorRaw(const std::string& scintallatorName) : TBBeamDetector(scintallatorName)
39  { }
40 
41  TBScintillatorRaw(const std::string& scintallatorName,
42  const TBTDCRawCont* tdcCont,TBTDCRaw* tbtdc,
43  const TBADCRawCont* adcCont,TBADCRaw* tbadc);
44 
46  { }
47 
49  // Data Manipulation //
51 
52  void setSignals(const TBTDCRawCont* tdcCont,TBTDCRaw* tbtdc,
53  const TBADCRawCont* adcCont,TBADCRaw* tbadc);
54 
56  bool isTDCOverflow() const;
57  bool isTDCUnderThreshold() const;
58 
60  bool isADCOverflow() const;
61 
62 
64  // Data //
66 
67  protected:
68 
71 
72 
73 };
74 
76 {
77  return (*m_tdclink)->getTDC();
78 
79 }
80 
81 
83 {
84  return (*m_tdclink)->isOverflow();
85 
86 }
87 
89 {
90  return (*m_tdclink)->isUnderThreshold();
91 
92 }
93 
95 {
96  return (*m_adclink)->getADC();
97 }
98 
100 {
101  return (*m_adclink)->isOverflow();
102 
103 }
104 
105 
106 
107 
108 
109 
110 CLASS_DEF( TBScintillatorRaw , 35513831 , 1 )
111 
112 
113 #endif
TBScintillatorRaw::m_tdclink
ElementLink< TBTDCRawCont > m_tdclink
Definition: TBScintillatorRaw.h:69
TBTDCRaw
Definition: TBTDCRaw.h:21
TBBeamDetector.h
TBADCRaw
Definition: TBADCRaw.h:21
TBScintillatorRaw::m_adclink
ElementLink< TBADCRawCont > m_adclink
Definition: TBScintillatorRaw.h:70
TBADCRawCont.h
TBScintillatorRaw::~TBScintillatorRaw
virtual ~TBScintillatorRaw()
Definition: TBScintillatorRaw.h:45
TBScintillatorRaw::adc_signal_type
TBADCRaw::signal_type adc_signal_type
Definition: TBScintillatorRaw.h:29
TBTDCRaw::signal_type
unsigned int signal_type
Definition: TBTDCRaw.h:24
TBScintillatorRaw::TBScintillatorRaw
TBScintillatorRaw()
Definition: TBScintillatorRaw.h:35
TBScintillatorRaw::isTDCUnderThreshold
bool isTDCUnderThreshold() const
Definition: TBScintillatorRaw.h:88
TBScintillatorRaw::getADCSignal
adc_signal_type getADCSignal() const
Definition: TBScintillatorRaw.h:94
TBTDCRawCont.h
TBScintillatorRaw::tdc_signal_type
TBTDCRaw::signal_type tdc_signal_type
Definition: TBScintillatorRaw.h:30
TBScintillatorRaw::isADCOverflow
bool isADCOverflow() const
Definition: TBScintillatorRaw.h:99
TBScintillatorRaw::TBScintillatorRaw
TBScintillatorRaw(const std::string &scintallatorName)
Definition: TBScintillatorRaw.h:38
TBScintillatorRaw
Definition: TBScintillatorRaw.h:26
TBScintillatorRaw::getTDCSignal
tdc_signal_type getTDCSignal() const
Definition: TBScintillatorRaw.h:75
TBTDCRawCont
Definition: TBTDCRawCont.h:21
TBADCRaw::signal_type
unsigned int signal_type
Definition: TBADCRaw.h:24
TBScintillatorRaw::isTDCOverflow
bool isTDCOverflow() const
Definition: TBScintillatorRaw.h:82
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
TBADCRawCont
Definition: TBADCRawCont.h:20
TBBeamDetector
Definition: TBBeamDetector.h:16
TBScintillatorRaw::setSignals
void setSignals(const TBTDCRawCont *tdcCont, TBTDCRaw *tbtdc, const TBADCRawCont *adcCont, TBADCRaw *tbadc)
Definition: TBScintillatorRaw.cxx:20
CLASS_DEF.h
macros to associate a CLID to a type