ATLAS Offline Software
PadTrigger.h
Go to the documentation of this file.
1 // -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 #ifndef NSWL1_PADDATA_H
8 #define NSWL1_PADDATA_H
9 
12 #include <ostream>
13 #include <vector>
14 
15 
16 namespace NSWL1 {
17  class PadData;
18  class SectorTriggerCandidate;
26  class PadTrigger {//S.I make this a proper class // needs a wrap-up
27  public:
29  float m_eta;//eta of the centroid of the pad tower
30  float m_phi; // phi of the centroid of the pad tower
31  float m_etamin;//bounding rectangles in eta-phi for the pad tower
32  float m_etamax;
33  float m_phimin;
34  float m_phimax;
35  int m_eta_id;//meaningless
36  int m_phi_id;
37  int m_multiplet_id;//meaningless as theres no single wedge triggers
38  int m_isSmall;
41  std::vector<float> m_trglocalminYInner;
42  std::vector<float> m_trglocalmaxYInner;
43  std::vector<float> m_trglocalminYOuter;
44  std::vector<float> m_trglocalmaxYOuter;
45  std::vector<int> m_trgSelectedLayersInner;
46  std::vector<int> m_trgSelectedLayersOuter;
47  std::vector<int> m_trgSelectedBandsInner;
48  std::vector<int> m_trgSelectedBandsOuter;
49  std::vector<int> m_trgPadPhiIndicesInner;
50  std::vector<int> m_trgPadPhiIndicesOuter;
51  std::vector<int> m_trgPadEtaIndicesInner;
52  std::vector<int> m_trgPadEtaIndicesOuter;
53 
54  std::vector< std::shared_ptr<PadData>> m_pads;
55  std::vector< std::shared_ptr<PadData>> m_padsInner;
56  std::vector< std::shared_ptr<PadData>> m_padsOuter;
60 
61  }
62 
63  std::shared_ptr<PadData> firstPad() const;
64  std::shared_ptr<PadData> firstPadInner() const;
65  std::shared_ptr<PadData> firstPadOuter() const;
66  uint16_t bctag() const;
67  int index() const { return m_triggerindex;}
68  int sideId() const;
69  int sectorId() const;
70  int triggerSectorNumber() const;
71  uint16_t bandId() const { return m_bandid; }
72  float eta() const { return m_eta; }
73  float phi() const { return m_phi; }
74  float etaId() const { return m_eta_id; }
75  uint16_t phiId() const { return m_phi_id; }
76  float multipletId() const { return m_multiplet_id; }
77  //=== boundaries of triggger band in eta
78  float etaMin() const {return m_etamin;}
79  float etaMax() const {return m_etamax;}
80  //========
81  float phiMin() const {return m_phimin;}
82  float phiMax() const {return m_phimax;}
83  int isSmall () const {return m_isSmall;}
84  int moduleIdInner() const { return m_moduleIdInner;}
85  int moduleIdOuter() const { return m_moduleIdOuter;}
86 
87  std::vector<float> const trglocalminYInner() const { return m_trglocalminYInner; }
88  std::vector<float> const trglocalmaxYInner() const { return m_trglocalmaxYInner; }
89  std::vector<float> const trglocalminYOuter() const { return m_trglocalminYOuter; }
90  std::vector<float> const trglocalmaxYOuter() const { return m_trglocalmaxYOuter; }
91  std::vector<int> trgSelectedLayersInner()const{ return m_trgSelectedLayersInner;}
92  std::vector<int> trgSelectedLayersOuter() const { return m_trgSelectedLayersOuter; }
93  std::vector<int> trgSelectedBandsInner() const { return m_trgSelectedBandsInner;}
94  std::vector<int> trgSelectedBandsOuter() const { return m_trgSelectedBandsOuter;}
95  std::vector<int> trgPadPhiIndicesInner() const { return m_trgPadPhiIndicesInner;}
96  std::vector<int> trgPadPhiIndicesOuter() const { return m_trgPadPhiIndicesOuter;}
97  std::vector<int> trgPadEtaIndicesInner() const { return m_trgPadEtaIndicesInner;}
98  std::vector<int> trgPadEtaIndicesOuter() const { return m_trgPadEtaIndicesOuter;}
99 
100 
101  };
102 
103 } // namespace NSWL1
104 
106 // std::ostream& operator<<(std::ostream& stream, NSWL1::PadTrigger& pt);
107 
108 #endif
NSWL1::PadTrigger::trglocalminYInner
std::vector< float > const trglocalminYInner() const
Definition: PadTrigger.h:87
NSWL1::PadTrigger::bandId
uint16_t bandId() const
Definition: PadTrigger.h:71
NSWL1::PadTrigger::m_trgPadEtaIndicesOuter
std::vector< int > m_trgPadEtaIndicesOuter
Definition: PadTrigger.h:52
NSWL1::PadTrigger::m_phi
float m_phi
Definition: PadTrigger.h:30
TriggerTypes.h
NSWL1::PadTrigger::trgPadEtaIndicesOuter
std::vector< int > trgPadEtaIndicesOuter() const
Definition: PadTrigger.h:98
NSWL1::PadTrigger::m_trgPadEtaIndicesInner
std::vector< int > m_trgPadEtaIndicesInner
Definition: PadTrigger.h:51
NSWL1::PadTrigger::m_padsOuter
std::vector< std::shared_ptr< PadData > > m_padsOuter
!< digits contributing to this trigger primitive
Definition: PadTrigger.h:56
NSWL1::PadTrigger::phi
float phi() const
! SectorTriggerCandidate eta center
Definition: PadTrigger.h:73
NSWL1::PadTrigger::phiMin
float phiMin() const
Definition: PadTrigger.h:81
NSWL1::PadTrigger::m_trgSelectedBandsOuter
std::vector< int > m_trgSelectedBandsOuter
Definition: PadTrigger.h:48
NSWL1::PadTrigger::trgSelectedLayersOuter
std::vector< int > trgSelectedLayersOuter() const
Definition: PadTrigger.h:92
GeoUtils.h
NSWL1::PadTrigger::firstPadInner
std::shared_ptr< PadData > firstPadInner() const
Definition: PadTrigger.cxx:34
NSWL1::PadTrigger::m_trglocalminYOuter
std::vector< float > m_trglocalminYOuter
Definition: PadTrigger.h:43
NSWL1::PadTrigger::etaMax
float etaMax() const
Definition: PadTrigger.h:79
NSWL1::PadTrigger::bctag
uint16_t bctag() const
Definition: PadTrigger.cxx:12
NSWL1::PadTrigger::etaMin
float etaMin() const
! SectorTriggerCandidate pad multiplet index
Definition: PadTrigger.h:78
NSWL1::PadTrigger::trgPadEtaIndicesInner
std::vector< int > trgPadEtaIndicesInner() const
Definition: PadTrigger.h:97
NSWL1::PadTrigger::m_etamin
float m_etamin
Definition: PadTrigger.h:31
NSWL1::PadTrigger::m_phimax
float m_phimax
Definition: PadTrigger.h:34
NSWL1::PadTrigger::m_multiplet_id
int m_multiplet_id
Definition: PadTrigger.h:37
NSWL1::PadTrigger::triggerSectorNumber
int triggerSectorNumber() const
! sectorId of the first pad in the trigger
Definition: PadTrigger.cxx:24
NSWL1::PadTrigger::m_padsInner
std::vector< std::shared_ptr< PadData > > m_padsInner
!< digits contributing to this trigger primitive
Definition: PadTrigger.h:55
NSWL1::PadTrigger::m_pads
std::vector< std::shared_ptr< PadData > > m_pads
Definition: PadTrigger.h:54
NSWL1::PadTrigger::phiId
uint16_t phiId() const
! SectorTriggerCandidate pad eta index
Definition: PadTrigger.h:75
NSWL1::PadTrigger::m_trglocalminYInner
std::vector< float > m_trglocalminYInner
Definition: PadTrigger.h:41
NSWL1::PadTrigger::sectorId
int sectorId() const
! sideId of the first pad in the trigger
Definition: PadTrigger.cxx:20
NSWL1::PadTrigger::m_phi_id
int m_phi_id
Definition: PadTrigger.h:36
NSWL1::PadTrigger::trgSelectedBandsInner
std::vector< int > trgSelectedBandsInner() const
Definition: PadTrigger.h:93
NSWL1::PadTrigger::eta
float eta() const
Definition: PadTrigger.h:72
NSWL1::PadTrigger::m_eta_id
int m_eta_id
Definition: PadTrigger.h:35
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:88
NSWL1::PadTrigger::etaId
float etaId() const
! SectorTriggerCandidate phi center
Definition: PadTrigger.h:74
NSWL1::PadTrigger::firstPadOuter
std::shared_ptr< PadData > firstPadOuter() const
Definition: PadTrigger.cxx:38
NSWL1::PadTrigger::trglocalmaxYInner
std::vector< float > const trglocalmaxYInner() const
Definition: PadTrigger.h:88
NSWL1::PadTrigger::trglocalmaxYOuter
std::vector< float > const trglocalmaxYOuter() const
Definition: PadTrigger.h:90
NSWL1::PadTrigger::m_moduleIdInner
int m_moduleIdInner
Definition: PadTrigger.h:39
NSWL1::PadTrigger::PadTrigger
PadTrigger()
Definition: PadTrigger.h:58
NSWL1::PadTrigger::trglocalminYOuter
std::vector< float > const trglocalminYOuter() const
Definition: PadTrigger.h:89
NSWL1::PadTrigger::m_eta
float m_eta
Definition: PadTrigger.h:29
NSWL1::PadTrigger::m_trglocalmaxYInner
std::vector< float > m_trglocalmaxYInner
Definition: PadTrigger.h:42
NSWL1::PadTrigger::m_moduleIdOuter
int m_moduleIdOuter
Definition: PadTrigger.h:40
NSWL1::PadTrigger::firstPad
std::shared_ptr< PadData > firstPad() const
Definition: PadTrigger.cxx:29
NSWL1::PadTrigger::trgPadPhiIndicesOuter
std::vector< int > trgPadPhiIndicesOuter() const
Definition: PadTrigger.h:96
NSWL1::PadTrigger::m_isSmall
int m_isSmall
Definition: PadTrigger.h:38
NSWL1::PadTrigger::m_phimin
float m_phimin
Definition: PadTrigger.h:33
NSWL1::PadTrigger
Holder of the pad trigger information.
Definition: PadTrigger.h:26
NSWL1::PadTrigger::trgPadPhiIndicesInner
std::vector< int > trgPadPhiIndicesInner() const
Definition: PadTrigger.h:95
NSWL1::PadTrigger::multipletId
float multipletId() const
! SectorTriggerCandidate pad phi index
Definition: PadTrigger.h:76
NSWL1::PadTrigger::m_trgSelectedBandsInner
std::vector< int > m_trgSelectedBandsInner
Definition: PadTrigger.h:47
NSWL1::PadTrigger::m_bandid
uint16_t m_bandid
see bandId below
Definition: PadTrigger.h:28
NSWL1::PadTrigger::m_trgPadPhiIndicesInner
std::vector< int > m_trgPadPhiIndicesInner
Definition: PadTrigger.h:49
NSWL1::PadTrigger::trgSelectedBandsOuter
std::vector< int > trgSelectedBandsOuter() const
Definition: PadTrigger.h:94
NSWL1::PadTrigger::trgSelectedLayersInner
std::vector< int > trgSelectedLayersInner() const
Definition: PadTrigger.h:91
NSWL1::PadTrigger::phiMax
float phiMax() const
Definition: PadTrigger.h:82
NSWL1::PadTrigger::isSmall
int isSmall() const
Definition: PadTrigger.h:83
NSWL1::PadTrigger::m_trgSelectedLayersOuter
std::vector< int > m_trgSelectedLayersOuter
Definition: PadTrigger.h:46
NSWL1::PadTrigger::moduleIdInner
int moduleIdInner() const
Definition: PadTrigger.h:84
NSWL1::PadTrigger::m_triggerindex
int m_triggerindex
!< digits contributing to this trigger primitive
Definition: PadTrigger.h:57
NSWL1::PadTrigger::sideId
int sideId() const
Definition: PadTrigger.cxx:16
NSWL1::PadTrigger::m_etamax
float m_etamax
Definition: PadTrigger.h:32
NSWL1::PadTrigger::m_trgPadPhiIndicesOuter
std::vector< int > m_trgPadPhiIndicesOuter
Definition: PadTrigger.h:50
NSWL1
A trigger trigger candidate for a stgc sector.
Definition: NSWL1Simulation.cxx:9
NSWL1::PadTrigger::m_trgSelectedLayersInner
std::vector< int > m_trgSelectedLayersInner
Definition: PadTrigger.h:45
NSWL1::PadTrigger::index
int index() const
Definition: PadTrigger.h:67
NSWL1::PadTrigger::m_trglocalmaxYOuter
std::vector< float > m_trglocalmaxYOuter
Definition: PadTrigger.h:44
NSWL1::PadTrigger::moduleIdOuter
int moduleIdOuter() const
Definition: PadTrigger.h:85