ATLAS Offline Software
TGCNSWCoincidenceMap.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3  */
4 
5 #ifndef TGCNSWCoincidenceMap_h
6 #define TGCNSWCoincidenceMap_h
7 
8 #include <vector>
9 #include <map>
10 #include <string>
11 
13 #include "GaudiKernel/ToolHandle.h"
14 #include "TrigT1TGC/TGCNumbering.h"
15 
16 namespace LVL1TGC {
17 class NSWTrigOut;
18 }
19 
20 namespace LVL1TGCTrigger {
21 
22 class TGCArguments;
23 
25 
26 private:
27  TGCNSWCoincidenceMap() = delete;// hide default constructor
28  enum {N_dEta=64,N_dPhi=16,N_Dtheta=32,N_PT_THRESH=15};//6bit eta,4bit phi,5bit Dtheta, 4bit pT
30  std::map<TGCRegionType,int> m_NumberOfEtaRaw = {{TGCRegionType::ENDCAP,37}, {TGCRegionType::FORWARD,16}};
31  std::map<TGCRegionType,int> m_NumberOfRoI = {{TGCRegionType::ENDCAP, LVL1TGC::kNumberOfEndcapRoI}, {TGCRegionType::FORWARD,64}};
32 
33 public:
34  TGCNSWCoincidenceMap(TGCArguments* tgcargs,const std::string& version,int side,int oct,int mod);
35  ~TGCNSWCoincidenceMap() = default;
36 
37  bool isForward( int module );
38 
39  int TGCNSW_pTcalcu_EtaPhi(const LVL1TGC::NSWTrigOut *nswOut, int RoI) const;
40  int TGCNSW_pTcalcu_EtaDtheta(const LVL1TGC::NSWTrigOut *nswOut, int RoI) const;
41 
42  const std::string& getVersion() const;
43  int getSideId() const;
44  int getOctantId() const;
45 
46 
47  // copy and assignment operator
49  bool readMap(const std::string& moduleName, ReadCW_Type cw_type);
50  bool readShift();
52  const TGCArguments* tgcArgs() const { return m_tgcArgs;}
53 
54 private:
55  std::vector<short int> m_EtaPhi_CW[N_dEta][N_dPhi];
56  std::vector<short int> m_EtaDtheta_CW[N_dEta][N_Dtheta];
57  std::vector<short int> m_Offset_Eta;
58  std::vector<short int> m_Offset_Phi;
59 
60 
61  std::string m_verName;
62  int m_side;
63  int m_octant;
64  int m_module;
65  int m_sector;
67 
69 };
70 
71 
72 
73 } // end of namespace
74 
75 #endif // TGCNSWCoincidenceMap_hh
76 
77 
LVL1TGCTrigger::TGCRegionType::ENDCAP
@ ENDCAP
LVL1TGCTrigger::TGCNSWCoincidenceMap::EtaPhi_CW
@ EtaPhi_CW
Definition: TGCNSWCoincidenceMap.h:29
LVL1TGCTrigger::TGCNSWCoincidenceMap::m_verName
std::string m_verName
Definition: TGCNSWCoincidenceMap.h:61
LVL1TGCTrigger::TGCNSWCoincidenceMap
Definition: TGCNSWCoincidenceMap.h:24
LVL1TGCTrigger::TGCNSWCoincidenceMap::m_EtaPhi_CW
std::vector< short int > m_EtaPhi_CW[N_dEta][N_dPhi]
Definition: TGCNSWCoincidenceMap.h:55
LVL1TGCTrigger::TGCNSWCoincidenceMap::m_Offset_Phi
std::vector< short int > m_Offset_Phi
Definition: TGCNSWCoincidenceMap.h:58
LVL1TGCTrigger::TGCRegionType::FORWARD
@ FORWARD
LVL1TGCTrigger::TGCNSWCoincidenceMap::isForward
bool isForward(int module)
Definition: TGCNSWCoincidenceMap.cxx:83
LVL1TGCTrigger::TGCNSWCoincidenceMap::ReadCW_Type
ReadCW_Type
Definition: TGCNSWCoincidenceMap.h:29
LVL1TGCTrigger::TGCNSWCoincidenceMap::~TGCNSWCoincidenceMap
~TGCNSWCoincidenceMap()=default
TRT::Hit::side
@ side
Definition: HitInfo.h:83
python.PyAthena.module
module
Definition: PyAthena.py:131
LVL1TGCTrigger::TGCNSWCoincidenceMap::N_PT_THRESH
@ N_PT_THRESH
Definition: TGCNSWCoincidenceMap.h:28
LVL1TGCTrigger::TGCNSWCoincidenceMap::tgcArgs
const TGCArguments * tgcArgs() const
Definition: TGCNSWCoincidenceMap.h:52
LVL1TGCTrigger::TGCNSWCoincidenceMap::TGCNSWCoincidenceMap
TGCNSWCoincidenceMap(const TGCNSWCoincidenceMap &right)
LVL1TGCTrigger::TGCNSWCoincidenceMap::m_NumberOfRoI
std::map< TGCRegionType, int > m_NumberOfRoI
Definition: TGCNSWCoincidenceMap.h:31
maskDeadModules.mod
mod
Definition: maskDeadModules.py:36
LVL1TGCTrigger::TGCNSWCoincidenceMap::m_module
int m_module
Definition: TGCNSWCoincidenceMap.h:64
LVL1TGCTrigger::TGCNSWCoincidenceMap::EtaDtheta_CW
@ EtaDtheta_CW
Definition: TGCNSWCoincidenceMap.h:29
LVL1TGCTrigger::TGCNSWCoincidenceMap::m_tgcArgs
TGCArguments * m_tgcArgs
Definition: TGCNSWCoincidenceMap.h:68
LVL1TGC
Definition: BigWheelCoincidenceLUT.cxx:20
LVL1TGCTrigger::TGCNSWCoincidenceMap::m_sector
int m_sector
Definition: TGCNSWCoincidenceMap.h:65
AthMessaging
Class to provide easy MsgStream access and capabilities.
Definition: AthMessaging.h:55
LVL1TGCTrigger::TGCNSWCoincidenceMap::readMap
bool readMap(const std::string &moduleName, ReadCW_Type cw_type)
Definition: TGCNSWCoincidenceMap.cxx:129
LVL1TGCTrigger::TGCNSWCoincidenceMap::m_Offset_Eta
std::vector< short int > m_Offset_Eta
Definition: TGCNSWCoincidenceMap.h:57
LVL1TGCTrigger::TGCNSWCoincidenceMap::N_dEta
@ N_dEta
Definition: TGCNSWCoincidenceMap.h:28
LVL1TGCTrigger
Definition: LVL1TGCTrigger.cxx:47
LVL1TGCTrigger::TGCNSWCoincidenceMap::m_NumberOfEtaRaw
std::map< TGCRegionType, int > m_NumberOfEtaRaw
Definition: TGCNSWCoincidenceMap.h:30
LVL1TGCTrigger::TGCNSWCoincidenceMap::tgcArgs
TGCArguments * tgcArgs()
Definition: TGCNSWCoincidenceMap.h:51
LVL1TGCTrigger::TGCNSWCoincidenceMap::N_Dtheta
@ N_Dtheta
Definition: TGCNSWCoincidenceMap.h:28
LVL1TGCTrigger::TGCNSWCoincidenceMap::TGCNSW_pTcalcu_EtaPhi
int TGCNSW_pTcalcu_EtaPhi(const LVL1TGC::NSWTrigOut *nswOut, int RoI) const
Definition: TGCNSWCoincidenceMap.cxx:88
LVL1TGCTrigger::TGCNSWCoincidenceMap::TGCNSWCoincidenceMap
TGCNSWCoincidenceMap()=delete
LVL1TGCTrigger::TGCNSWCoincidenceMap::TGCNSW_pTcalcu_EtaDtheta
int TGCNSW_pTcalcu_EtaDtheta(const LVL1TGC::NSWTrigOut *nswOut, int RoI) const
Definition: TGCNSWCoincidenceMap.cxx:110
LVL1TGCTrigger::TGCNSWCoincidenceMap::m_region
TGCRegionType m_region
Definition: TGCNSWCoincidenceMap.h:66
LVL1TGCTrigger::TGCNSWCoincidenceMap::m_octant
int m_octant
Definition: TGCNSWCoincidenceMap.h:63
TGCNumbering.h
LVL1TGCTrigger::TGCNSWCoincidenceMap::getSideId
int getSideId() const
LVL1TGCTrigger::TGCArguments
Definition: TGCArguments.h:12
get_generator_info.version
version
Definition: get_generator_info.py:33
LVL1TGCTrigger::TGCNSWCoincidenceMap::m_EtaDtheta_CW
std::vector< short int > m_EtaDtheta_CW[N_dEta][N_Dtheta]
Definition: TGCNSWCoincidenceMap.h:56
LVL1TGCTrigger::TGCNSWCoincidenceMap::getOctantId
int getOctantId() const
LVL1TGCTrigger::TGCRegionType
TGCRegionType
Definition: TGCNumbering.h:49
LVL1TGCTrigger::TGCNSWCoincidenceMap::m_side
int m_side
Definition: TGCNSWCoincidenceMap.h:62
AthMessaging.h
LVL1TGCTrigger::TGCNSWCoincidenceMap::readShift
bool readShift()
Definition: TGCNSWCoincidenceMap.cxx:195
LVL1TGC::NSWTrigOut
Definition: NSWTrigOut.h:16
LVL1TGCTrigger::TGCNSWCoincidenceMap::N_dPhi
@ N_dPhi
Definition: TGCNSWCoincidenceMap.h:28
LVL1TGCTrigger::TGCNSWCoincidenceMap::getVersion
const std::string & getVersion() const