ATLAS Offline Software
TileMuonReceiverObj.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 //****************************************************************************
6 // Filename : TileMuonReceiverObj.h
7 // Author : Joao Gentil Mendes Saraiva (jmendes@cern.ch)
8 // Created : February 2014
9 //
10 // DESCRIPTION
11 //
12 // Tile Muon Receiver object
13 //
14 // Properties (JobOption Parameters):
15 //
16 // BUGS:
17 //
18 // History:
19 //
20 //****************************************************************************
21 
22 #ifndef TILEEVENT_TILEMUONRECEIVEROBJ_H
23 #define TILEEVENT_TILEMUONRECEIVEROBJ_H
24 
25 #include <vector>
26 #include <string>
27 
29 
30  public:
31 
32  // constructor(s)
33  //
34  // thresholds: [dim 4] d6L d6H d56L d56H
35  // decision : [dim 4] 4-bit word
36  // ene : [dim 2] d6 d5+d6
37  // time : [dim 2] (t1+t2)/2 (t1+t2+t3+t4)/4 : 1..4 are the PMTs 1,2 > D6 and 3,4 > D5
38  //
39 
41 
42  TileMuonReceiverObj( int id ) { m_id=id; }
43 
44  TileMuonReceiverObj( int id, const std::vector<bool> &decision)
45  : m_id(id),
46  m_TileMuRcvDecision(decision)
47  {
48  }
49 
50  TileMuonReceiverObj( int id, const std::vector<float> &thresholds)
51  : m_id(id),
52  m_TileMuRcvThresholds(thresholds)
53  {
54  }
55 
56  TileMuonReceiverObj( int id, const std::vector<float> &ene, const std::vector<float> &time)
57  : m_id(id),
58  m_TileMuRcvEne(ene),
60  {
61  }
62 
63  TileMuonReceiverObj( int id, const std::vector<float> &ene, const std::vector<float> &time, const std::vector<bool> &decision)
64  : m_id(id),
65  m_TileMuRcvDecision(decision),
66  m_TileMuRcvEne(ene),
68 
69  {
70  }
71 
73  std::vector<float>&& ene,
74  std::vector<float>&& time,
75  std::vector<bool>&& decision,
76  std::vector<float>&& thresholds)
77  : m_id(id),
78  m_TileMuRcvDecision(std::move(decision)),
79  m_TileMuRcvThresholds(std::move(thresholds)),
80  m_TileMuRcvEne(std::move(ene)),
81  m_TileMuRcvTime(std::move(time))
82  {
83  }
84 
85  // destructor
86  //
88 
89  // set methods
90  //
91  void Set(int id, const std::vector<bool> &decision)
92  { m_id=id; m_TileMuRcvDecision=decision; }
93 
94  void Set(int id, const std::vector<float> &thresholds)
95  { m_id=id; m_TileMuRcvThresholds=thresholds; }
96 
97  void Set(int id, const std::vector<float> &ene, const std::vector<float> &time)
99 
100  void Set(int id, const std::vector<float> &ene, const std::vector<float> &time, const std::vector<bool> &decision)
102 
103  // access methods
104  //
105  int GetID() const { return m_id; }
106 
107  inline int identify(void) const { return m_id; }
108 
109  const std::vector<bool>& GetDecision() const { return m_TileMuRcvDecision; } // [dim 4]
110  const std::vector<float>& GetThresholds() const { return m_TileMuRcvThresholds; } // [dim 4] ... it is the same for every event
111  const std::vector<float>& GetEne() const { return m_TileMuRcvEne; } // [dim 2] d6 and d5+d6
112  const std::vector<float>& GetTime() const { return m_TileMuRcvTime; } // [dim 2] (t1+t2)/2. and (t1+t2+t3+t4)/4. : 1..4 are the PMTs with 1,2 > D6 and 3,4 > D5
113 
114  // print methods
115  //
116  std::string whoami (void) const { return "TileMuonReceiverObj"; }
117 
118  void print(void) const;
119 
120  void clear(void);
121 
122  operator std::string() const;
123 
124  private:
125 
126  int m_id;
127  std::vector<bool> m_TileMuRcvDecision;
128  std::vector<float> m_TileMuRcvThresholds;
129  std::vector<float> m_TileMuRcvEne;
130  std::vector<float> m_TileMuRcvTime;
131 
132 };
133 
134 #endif
135 
TileMuonReceiverObj::m_id
int m_id
Definition: TileMuonReceiverObj.h:126
TileMuonReceiverObj::Set
void Set(int id, const std::vector< float > &thresholds)
Definition: TileMuonReceiverObj.h:94
TileMuonReceiverObj::m_TileMuRcvDecision
std::vector< bool > m_TileMuRcvDecision
Definition: TileMuonReceiverObj.h:127
TileMuonReceiverObj::m_TileMuRcvEne
std::vector< float > m_TileMuRcvEne
Definition: TileMuonReceiverObj.h:129
TileMuonReceiverObj::Set
void Set(int id, const std::vector< bool > &decision)
Definition: TileMuonReceiverObj.h:91
TileMuonReceiverObj::TileMuonReceiverObj
TileMuonReceiverObj(int id, const std::vector< float > &ene, const std::vector< float > &time, const std::vector< bool > &decision)
Definition: TileMuonReceiverObj.h:63
TileMuonReceiverObj::TileMuonReceiverObj
TileMuonReceiverObj(int id, std::vector< float > &&ene, std::vector< float > &&time, std::vector< bool > &&decision, std::vector< float > &&thresholds)
Definition: TileMuonReceiverObj.h:72
TileMuonReceiverObj::print
void print(void) const
Definition: TileMuonReceiverObj.cxx:30
TileMuonReceiverObj::clear
void clear(void)
Definition: TileMuonReceiverObj.cxx:52
TileMuonReceiverObj::whoami
std::string whoami(void) const
Definition: TileMuonReceiverObj.h:116
TileMuonReceiverObj::TileMuonReceiverObj
TileMuonReceiverObj()
Definition: TileMuonReceiverObj.h:40
TileMuonReceiverObj::m_TileMuRcvThresholds
std::vector< float > m_TileMuRcvThresholds
Definition: TileMuonReceiverObj.h:128
TileMuonReceiverObj::TileMuonReceiverObj
TileMuonReceiverObj(int id, const std::vector< float > &ene, const std::vector< float > &time)
Definition: TileMuonReceiverObj.h:56
TileMuonReceiverObj::GetTime
const std::vector< float > & GetTime() const
Definition: TileMuonReceiverObj.h:112
TileMuonReceiverObj::m_TileMuRcvTime
std::vector< float > m_TileMuRcvTime
Definition: TileMuonReceiverObj.h:130
TileMuonReceiverObj::GetDecision
const std::vector< bool > & GetDecision() const
Definition: TileMuonReceiverObj.h:109
TileMuonReceiverObj::GetThresholds
const std::vector< float > & GetThresholds() const
Definition: TileMuonReceiverObj.h:110
TileMuonReceiverObj::Set
void Set(int id, const std::vector< float > &ene, const std::vector< float > &time)
Definition: TileMuonReceiverObj.h:97
TileMuonReceiverObj::TileMuonReceiverObj
TileMuonReceiverObj(int id, const std::vector< float > &thresholds)
Definition: TileMuonReceiverObj.h:50
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:191
TileMuonReceiverObj::~TileMuonReceiverObj
virtual ~TileMuonReceiverObj()
Definition: TileMuonReceiverObj.h:87
TileMuonReceiverObj::identify
int identify(void) const
Definition: TileMuonReceiverObj.h:107
TileMuonReceiverObj::TileMuonReceiverObj
TileMuonReceiverObj(int id, const std::vector< bool > &decision)
Definition: TileMuonReceiverObj.h:44
TileMuonReceiverObj::GetID
int GetID() const
Definition: TileMuonReceiverObj.h:105
TileMuonReceiverObj::TileMuonReceiverObj
TileMuonReceiverObj(int id)
Definition: TileMuonReceiverObj.h:42
TileMuonReceiverObj
Definition: TileMuonReceiverObj.h:28
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
TileMuonReceiverObj::GetEne
const std::vector< float > & GetEne() const
Definition: TileMuonReceiverObj.h:111
TileMuonReceiverObj::Set
void Set(int id, const std::vector< float > &ene, const std::vector< float > &time, const std::vector< bool > &decision)
Definition: TileMuonReceiverObj.h:100