ATLAS Offline Software
TileTrigger.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 //***************************************************************************
6 // Filename : TileTrigger.h
7 // Author : Jose Maneira
8 // Created : March 2007
9 //
10 // DESCRIPTION:
11 // TileTrigger is the class that contains the event trigger information
12 // from the simulated Cosmics trigger boards. The actual trigger logic
13 // calculations are done in the TileRecAlgs/TileCosmicsTrigger algorithm.
14 // This class contais information about which TileCal towers cave a trigger
15 // in each of three possible trigger modes: single tower, back-2-back, and
16 // board coincidence.
17 // * For single tower, the ID and sum signal peak (in mv) is given for the
18 // maximum signal tower in the whole range of connected modules.
19 // * For board coincidence mode, the ID and sum signal peak are given for
20 // the maximum signal tower in each board (up to a maximum of 8 boards).
21 // * For back-2-back coincidence mode, the ID and sum signal peak (in mv)
22 // is given for each tower that passes the trigger requirements (two
23 // diametrically opposite towers above threshold).
24 //
25 // This allows the trigger logic to be recalculated for different thresholds
26 // (higher) than the one chosen in the jobOptions.
27 //
28 // HISTORY:
29 //
30 // ***************************************************************************
31 
32 #ifndef TILETRIGGER_H
33 #define TILETRIGGER_H
34 #include "AthenaKernel/CLASS_DEF.h"
35 
36 #include "Identifier/Identifier.h"
37 #include <vector>
38 
40 {
41 public:
42 
43  /* Constructors */
44 
45  TileTrigger() : m_ID(0), m_maxTowerSum(0.0) {}
46 
47  TileTrigger(int id, const Identifier& mtid, double mtsum,
48  std::vector<Identifier>& boardtid, std::vector<double>& boardtsum,
49  std::vector<Identifier>& backtid, std::vector<double>& backtsum);
50 
51  TileTrigger(const Identifier& mtid, double mtsum,
52  std::vector<Identifier>& boardtid, std::vector<double>& boardtsum,
53  std::vector<Identifier>& backtid, std::vector<double>& backtsum);
54 
55 
56  /* Set methods */
57 
58  void Set(int id, const Identifier& mtid, double mtsum,
59  std::vector<Identifier>& boardtid, std::vector<double>& boardtsum,
60  std::vector<Identifier>& backtid, std::vector<double>& backtsum);
61 
62  void Set(const Identifier& mtid, double mtsum,
63  std::vector<Identifier>& boardtid, std::vector<double>& boardtsum,
64  std::vector<Identifier>& backtid, std::vector<double>& backtsum);
65 
66  void SetID(int id) {m_ID = id; }
67  void SetMaxTowerID(const Identifier& mtid) {m_maxTowerID = mtid; }
68  void SetMaxTowerSum(double mtsum) {m_maxTowerSum = mtsum; }
69  void SetBoardTowerID(std::vector<Identifier>& boardtid) {m_boardTowerID = boardtid; }
70  void SetBoardTowerSum(std::vector<double>& boardtsum) {m_boardTowerSum = boardtsum; }
71  void SetBackTowerID(std::vector<Identifier>& backtid) {m_backTowerID = backtid; }
72  void SetBackTowerSum(std::vector<double>& backtsum) {m_backTowerSum = backtsum; }
73 
74  /* Access methods */
75 
76  int GetID() const {return m_ID; }
78  double GetMaxTowerSum() const {return m_maxTowerSum; }
79  const std::vector<Identifier>& GetBoardTowerID() const {return m_boardTowerID; }
80  const std::vector<double>& GetBoardTowerSum() const {return m_boardTowerSum; }
81  const std::vector<Identifier>& GetBackTowerID() const {return m_backTowerID; }
82  const std::vector<double>& GetBackTowerSum() const {return m_backTowerSum; }
83 
84  /* Print methods */
85 
86  std::string whoami (void) const { return "TileTrigger"; }
87  void print (void) const;
88  // Convertion operator to a std::string
89  // Can be used in a cast operation : (std::string) TileTrigger
90  operator std::string() const;
91 
92 private:
93 
94  /* Member variables: */
95  int m_ID; // some ID - don't know what, can be used in future
97  double m_maxTowerSum;
98 
99  std::vector<Identifier> m_boardTowerID;
100  std::vector<double> m_boardTowerSum;
101 
102  std::vector<Identifier> m_backTowerID;
103  std::vector<double> m_backTowerSum;
104 
105 };
106 #endif //TILEEVENT_TILETRIGGER_H
107 
TileTrigger::m_maxTowerID
Identifier m_maxTowerID
Definition: TileTrigger.h:96
TileTrigger::m_ID
int m_ID
Definition: TileTrigger.h:95
TileTrigger::SetID
void SetID(int id)
Definition: TileTrigger.h:66
TileTrigger::m_backTowerSum
std::vector< double > m_backTowerSum
Definition: TileTrigger.h:103
TileTrigger::print
void print(void) const
Definition: TileTrigger.cxx:83
TileTrigger
Definition: TileTrigger.h:40
TileTrigger::GetID
int GetID() const
Definition: TileTrigger.h:76
TileTrigger::SetBoardTowerID
void SetBoardTowerID(std::vector< Identifier > &boardtid)
Definition: TileTrigger.h:69
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
TileTrigger::m_backTowerID
std::vector< Identifier > m_backTowerID
Definition: TileTrigger.h:102
TileTrigger::GetMaxTowerSum
double GetMaxTowerSum() const
Definition: TileTrigger.h:78
TileTrigger::SetBackTowerSum
void SetBackTowerSum(std::vector< double > &backtsum)
Definition: TileTrigger.h:72
TileTrigger::GetBackTowerID
const std::vector< Identifier > & GetBackTowerID() const
Definition: TileTrigger.h:81
TileTrigger::whoami
std::string whoami(void) const
Definition: TileTrigger.h:86
TileTrigger::TileTrigger
TileTrigger()
Definition: TileTrigger.h:45
TileTrigger::m_boardTowerID
std::vector< Identifier > m_boardTowerID
Definition: TileTrigger.h:99
TileTrigger::Set
void Set(int id, const Identifier &mtid, double mtsum, std::vector< Identifier > &boardtid, std::vector< double > &boardtsum, std::vector< Identifier > &backtid, std::vector< double > &backtsum)
Definition: TileTrigger.cxx:58
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:191
TileTrigger::GetMaxTowerID
Identifier GetMaxTowerID() const
Definition: TileTrigger.h:77
TileTrigger::SetMaxTowerSum
void SetMaxTowerSum(double mtsum)
Definition: TileTrigger.h:68
TileTrigger::GetBoardTowerID
const std::vector< Identifier > & GetBoardTowerID() const
Definition: TileTrigger.h:79
TileTrigger::SetBoardTowerSum
void SetBoardTowerSum(std::vector< double > &boardtsum)
Definition: TileTrigger.h:70
TileTrigger::GetBoardTowerSum
const std::vector< double > & GetBoardTowerSum() const
Definition: TileTrigger.h:80
CLASS_DEF.h
macros to associate a CLID to a type
TileTrigger::m_boardTowerSum
std::vector< double > m_boardTowerSum
Definition: TileTrigger.h:100
TileTrigger::m_maxTowerSum
double m_maxTowerSum
Definition: TileTrigger.h:97
TileTrigger::SetBackTowerID
void SetBackTowerID(std::vector< Identifier > &backtid)
Definition: TileTrigger.h:71
TileTrigger::SetMaxTowerID
void SetMaxTowerID(const Identifier &mtid)
Definition: TileTrigger.h:67
TileTrigger::GetBackTowerSum
const std::vector< double > & GetBackTowerSum() const
Definition: TileTrigger.h:82