ATLAS Offline Software
PadTrigger.h
Go to the documentation of this file.
1 // -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2024 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{0};//eta of the centroid of the pad tower
30  float m_phi{0}; // phi of the centroid of the pad tower
31  float m_etamin{0};//bounding rectangles in eta-phi for the pad tower
32  float m_etamax{0};
33  float m_phimin{0};
34  float m_phimax{0};
35  int m_eta_id{0};//meaningless
36  int m_phi_id{0};
37  int m_multiplet_id{0};//meaningless as theres no single wedge triggers
38  int m_isSmall{0};
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;
58  PadTrigger() = default;
59 
60  std::shared_ptr<PadData> firstPad() const;
61  std::shared_ptr<PadData> firstPadInner() const;
62  std::shared_ptr<PadData> firstPadOuter() const;
63  uint16_t bctag() const;
64  int index() const { return m_triggerindex;}
65  int sideId() const;
66  int sectorId() const;
67  int triggerSectorNumber() const;
68  uint16_t bandId() const { return m_bandid; }
69  float eta() const { return m_eta; }
70  float phi() const { return m_phi; }
71  float etaId() const { return m_eta_id; }
72  uint16_t phiId() const { return m_phi_id; }
73  float multipletId() const { return m_multiplet_id; }
74  //=== boundaries of triggger band in eta
75  float etaMin() const {return m_etamin;}
76  float etaMax() const {return m_etamax;}
77  //========
78  float phiMin() const {return m_phimin;}
79  float phiMax() const {return m_phimax;}
80  int isSmall () const {return m_isSmall;}
81  int moduleIdInner() const { return m_moduleIdInner;}
82  int moduleIdOuter() const { return m_moduleIdOuter;}
83 
84  const std::vector<float>& trglocalminYInner() const { return m_trglocalminYInner; }
85  const std::vector<float>& trglocalmaxYInner() const { return m_trglocalmaxYInner; }
86  const std::vector<float>& trglocalminYOuter() const { return m_trglocalminYOuter; }
87  const std::vector<float>& trglocalmaxYOuter() const { return m_trglocalmaxYOuter; }
88  const std::vector<int>& trgSelectedLayersInner()const{ return m_trgSelectedLayersInner;}
89  const std::vector<int>& trgSelectedLayersOuter() const { return m_trgSelectedLayersOuter; }
90  const std::vector<int>& trgSelectedBandsInner() const { return m_trgSelectedBandsInner;}
91  const std::vector<int>& trgSelectedBandsOuter() const { return m_trgSelectedBandsOuter;}
92  const std::vector<int>& trgPadPhiIndicesInner() const { return m_trgPadPhiIndicesInner;}
93  const std::vector<int>& trgPadPhiIndicesOuter() const { return m_trgPadPhiIndicesOuter;}
94  const std::vector<int>& trgPadEtaIndicesInner() const { return m_trgPadEtaIndicesInner;}
95  const std::vector<int>& trgPadEtaIndicesOuter() const { return m_trgPadEtaIndicesOuter;}
96 
97 
98  };
99 
100 } // namespace NSWL1
101 
103 // std::ostream& operator<<(std::ostream& stream, NSWL1::PadTrigger& pt);
104 
105 #endif
NSWL1::PadTrigger::bandId
uint16_t bandId() const
Definition: PadTrigger.h:68
NSWL1::PadTrigger::trglocalmaxYInner
const std::vector< float > & trglocalmaxYInner() const
Definition: PadTrigger.h:85
NSWL1::PadTrigger::m_trgPadEtaIndicesOuter
std::vector< int > m_trgPadEtaIndicesOuter
Definition: PadTrigger.h:52
NSWL1::PadTrigger::m_phi
float m_phi
Definition: PadTrigger.h:30
NSWL1::PadTrigger::trgSelectedLayersInner
const std::vector< int > & trgSelectedLayersInner() const
Definition: PadTrigger.h:88
NSWL1::PadTrigger::trgPadEtaIndicesOuter
const std::vector< int > & trgPadEtaIndicesOuter() const
Definition: PadTrigger.h:95
TriggerTypes.h
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::trgPadPhiIndicesInner
const std::vector< int > & trgPadPhiIndicesInner() const
Definition: PadTrigger.h:92
NSWL1::PadTrigger::phi
float phi() const
! SectorTriggerCandidate eta center
Definition: PadTrigger.h:70
NSWL1::PadTrigger::phiMin
float phiMin() const
Definition: PadTrigger.h:78
NSWL1::PadTrigger::m_trgSelectedBandsOuter
std::vector< int > m_trgSelectedBandsOuter
Definition: PadTrigger.h:48
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:76
NSWL1::PadTrigger::bctag
uint16_t bctag() const
Definition: PadTrigger.cxx:12
NSWL1::PadTrigger::etaMin
float etaMin() const
! SectorTriggerCandidate pad multiplet index
Definition: PadTrigger.h:75
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::trglocalmaxYOuter
const std::vector< float > & trglocalmaxYOuter() const
Definition: PadTrigger.h:87
NSWL1::PadTrigger::m_pads
std::vector< std::shared_ptr< PadData > > m_pads
Definition: PadTrigger.h:54
NSWL1::PadTrigger::trgPadEtaIndicesInner
const std::vector< int > & trgPadEtaIndicesInner() const
Definition: PadTrigger.h:94
NSWL1::PadTrigger::phiId
uint16_t phiId() const
! SectorTriggerCandidate pad eta index
Definition: PadTrigger.h:72
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::eta
float eta() const
Definition: PadTrigger.h:69
NSWL1::PadTrigger::m_eta_id
int m_eta_id
Definition: PadTrigger.h:35
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:93
NSWL1::PadTrigger::etaId
float etaId() const
! SectorTriggerCandidate phi center
Definition: PadTrigger.h:71
NSWL1::PadTrigger::firstPadOuter
std::shared_ptr< PadData > firstPadOuter() const
Definition: PadTrigger.cxx:38
NSWL1::PadTrigger::m_moduleIdInner
int m_moduleIdInner
Definition: PadTrigger.h:39
NSWL1::PadTrigger::m_eta
float m_eta
Definition: PadTrigger.h:29
NSWL1::PadTrigger::trgSelectedBandsOuter
const std::vector< int > & trgSelectedBandsOuter() const
Definition: PadTrigger.h:91
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::trglocalminYInner
const std::vector< float > & trglocalminYInner() const
Definition: PadTrigger.h:84
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::trgSelectedBandsInner
const std::vector< int > & trgSelectedBandsInner() const
Definition: PadTrigger.h:90
NSWL1::PadTrigger::multipletId
float multipletId() const
! SectorTriggerCandidate pad phi index
Definition: PadTrigger.h:73
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::PadTrigger
PadTrigger()=default
NSWL1::PadTrigger::trglocalminYOuter
const std::vector< float > & trglocalminYOuter() const
Definition: PadTrigger.h:86
NSWL1::PadTrigger::m_trgPadPhiIndicesInner
std::vector< int > m_trgPadPhiIndicesInner
Definition: PadTrigger.h:49
NSWL1::PadTrigger::trgSelectedLayersOuter
const std::vector< int > & trgSelectedLayersOuter() const
Definition: PadTrigger.h:89
NSWL1::PadTrigger::phiMax
float phiMax() const
Definition: PadTrigger.h:79
NSWL1::PadTrigger::isSmall
int isSmall() const
Definition: PadTrigger.h:80
NSWL1::PadTrigger::m_trgSelectedLayersOuter
std::vector< int > m_trgSelectedLayersOuter
Definition: PadTrigger.h:46
NSWL1::PadTrigger::moduleIdInner
int moduleIdInner() const
Definition: PadTrigger.h:81
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::trgPadPhiIndicesOuter
const std::vector< int > & trgPadPhiIndicesOuter() const
Definition: PadTrigger.h:93
NSWL1::PadTrigger::index
int index() const
Definition: PadTrigger.h:64
NSWL1::PadTrigger::m_trglocalmaxYOuter
std::vector< float > m_trglocalmaxYOuter
Definition: PadTrigger.h:44
NSWL1::PadTrigger::moduleIdOuter
int moduleIdOuter() const
Definition: PadTrigger.h:82