ATLAS Offline Software
Loading...
Searching...
No Matches
TileMuonReceiverObj.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 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),
59 m_TileMuRcvTime(time)
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),
67 m_TileMuRcvTime(time)
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
89
90 // destructor
91 //
93
94 // set methods
95 //
96 void Set(int id, const std::vector<bool> &decision)
97 { m_id=id; m_TileMuRcvDecision=decision; }
98
99 void Set(int id, const std::vector<float> &thresholds)
100 { m_id=id; m_TileMuRcvThresholds=thresholds; }
101
102 void Set(int id, const std::vector<float> &ene, const std::vector<float> &time)
103 { m_id=id; m_TileMuRcvEne=ene; m_TileMuRcvTime=time; }
104
105 void Set(int id, const std::vector<float> &ene, const std::vector<float> &time, const std::vector<bool> &decision)
106 { m_id=id; m_TileMuRcvEne=ene; m_TileMuRcvTime=time; m_TileMuRcvDecision=decision; }
107
108 // access methods
109 //
110 int GetID() const { return m_id; }
111
112 inline int identify(void) const { return m_id; }
113
114 const std::vector<bool>& GetDecision() const { return m_TileMuRcvDecision; } // [dim 4]
115 const std::vector<float>& GetThresholds() const { return m_TileMuRcvThresholds; } // [dim 4] ... it is the same for every event
116 const std::vector<float>& GetEne() const { return m_TileMuRcvEne; } // [dim 2] d6 and d5+d6
117 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
118
119 // print methods
120 //
121 std::string whoami (void) const { return "TileMuonReceiverObj"; }
122
123 void print(void) const;
124
125 void clear(void);
126
127 operator std::string() const;
128
129 private:
130
131 int m_id;
132 std::vector<bool> m_TileMuRcvDecision;
133 std::vector<float> m_TileMuRcvThresholds;
134 std::vector<float> m_TileMuRcvEne;
135 std::vector<float> m_TileMuRcvTime;
136
137};
138
139#endif
140
TileMuonReceiverObj(int id, const std::vector< float > &thresholds)
TileMuonReceiverObj & operator=(const TileMuonReceiverObj &)=default
void Set(int id, const std::vector< float > &ene, const std::vector< float > &time, const std::vector< bool > &decision)
const std::vector< float > & GetEne() const
const std::vector< float > & GetThresholds() const
void Set(int id, const std::vector< float > &ene, const std::vector< float > &time)
const std::vector< float > & GetTime() const
std::vector< float > m_TileMuRcvTime
TileMuonReceiverObj(int id, const std::vector< bool > &decision)
TileMuonReceiverObj(TileMuonReceiverObj &&)=default
void Set(int id, const std::vector< bool > &decision)
TileMuonReceiverObj & operator=(TileMuonReceiverObj &&)=default
std::vector< float > m_TileMuRcvThresholds
std::vector< float > m_TileMuRcvEne
void Set(int id, const std::vector< float > &thresholds)
std::string whoami(void) const
TileMuonReceiverObj(int id, const std::vector< float > &ene, const std::vector< float > &time)
std::vector< bool > m_TileMuRcvDecision
TileMuonReceiverObj(int id, const std::vector< float > &ene, const std::vector< float > &time, const std::vector< bool > &decision)
const std::vector< bool > & GetDecision() const
TileMuonReceiverObj(int id, std::vector< float > &&ene, std::vector< float > &&time, std::vector< bool > &&decision, std::vector< float > &&thresholds)
TileMuonReceiverObj(const TileMuonReceiverObj &)=default
STL namespace.