ATLAS Offline Software
TBTailCatcher.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TBEVENT_TBTAILCATCHER_H
6 #define TBEVENT_TBTAILCATCHER_H
7 // //
9 // Testbeam TailCatcher reconstructed signals. //
10 // //
12 
13 #include "AthenaKernel/CLASS_DEF.h"
14 
16 #include "TBEvent/TBBeamDetector.h"
17 #include "TBEvent/TBScintillator.h"
18 
19 #include <vector>
20 
21 
22 
23 class TBTailCatcher : public TBBeamDetector,
24  public DataVector< TBScintillator >
25 {
26  public:
27 
28  typedef double signal_type;
29 
31  // Constructors and Destructor //
33 
34  TBTailCatcher();
35  TBTailCatcher(const std::string& thisTailCatcherName,
36  bool overflow,
37  const std::vector< TBScintillator* >& theScints);
38 
40 
42  // Data Manipulation //
44 
45  void addScintillator(TBScintillator* thisScint);
46 
47  const TBScintillator*
48  getScintillator(const std::string& thisScintName) const;
49 
50  // global overflow
51  // virtual void setOverflow();
52  // virtual void setOverflow(bool overflow);
53  // virtual void resetOverflow();
54 
56  // Data Access //
58 
59  const std::vector<signal_type>& getSignals() const;
60  signal_type getSignal(const std::string& thisScintName) const;
61  signal_type getSignal(const TBScintillator* thisScint) const;
62 
63  private:
64  friend class TBTailCatcherCnv_p1;
65 
67  // Data //
69 
70  std::vector<double> m_signals;
71 
72  unsigned int findIndex(const std::string& thisScintName) const;
73 
74 };
75 CLASS_DEF( TBTailCatcher , 100992621 , 1 )
76 #endif
TBTailCatcher::~TBTailCatcher
~TBTailCatcher()
Definition: TBTailCatcher.cxx:35
TBBeamDetector.h
TBTailCatcher::TBTailCatcher
TBTailCatcher()
Definition: TBTailCatcher.cxx:14
TBScintillator.h
TBTailCatcher::getScintillator
const TBScintillator * getScintillator(const std::string &thisScintName) const
Definition: TBTailCatcher.cxx:46
TBTailCatcher
Definition: TBTailCatcher.h:25
TBTailCatcher::m_signals
std::vector< double > m_signals
Definition: TBTailCatcher.h:70
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
TBTailCatcher::getSignal
signal_type getSignal(const std::string &thisScintName) const
Definition: TBTailCatcher.cxx:64
TBTailCatcher::signal_type
double signal_type
Definition: TBTailCatcher.h:28
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
TBTailCatcher::addScintillator
void addScintillator(TBScintillator *thisScint)
Definition: TBTailCatcher.cxx:39
TBTailCatcherCnv_p1
Definition: TBTailCatcherCnv_p1.h:22
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
Definition: TBScintillator.h:25
TBTailCatcher::getSignals
const std::vector< signal_type > & getSignals() const
Definition: TBTailCatcher.cxx:58
TBBeamDetector
Definition: TBBeamDetector.h:16
CLASS_DEF.h
macros to associate a CLID to a type
TBTailCatcher::findIndex
unsigned int findIndex(const std::string &thisScintName) const
Definition: TBTailCatcher.cxx:80