ATLAS Offline Software
MM_SimIdToOfflineId.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MM_SIMIDTOOFFLINEID_H
6 #define MM_SIMIDTOOFFLINEID_H
7 
10 #include "Identifier/Identifier.h"
11 
13 
14  MM_SimIdToOfflineId( const MmIdHelper* idHelper ) : m_idHelper(idHelper),m_simIdHelper(MicromegasHitIdHelper::GetHelper()) {}
15 
16  inline Identifier convert( int simId ) const;
17  inline int convert (const Identifier & id) const;
18 
21 };
22 
23 
25  std::string stationName = m_simIdHelper->GetStationName(simId);
26  int stationEta = m_simIdHelper->GetZSector(simId);
28  int multilayer = m_simIdHelper->GetMultiLayer(simId);
29  int layer = m_simIdHelper->GetLayer(simId);
30  int side = m_simIdHelper->GetSide(simId);
31  return m_idHelper->channelID( stationName[2] == 'L' ? "MML" : "MMS",
32  side == 1 ? stationEta+1 : -stationEta-1,
33  (stationPhi-1)/2+1,multilayer,layer,1 );
34 }
35 
36 
37 inline int MM_SimIdToOfflineId::convert (const Identifier & id) const
38  {
40  int side(stationEta>0 ? 1 : -1);
41  stationEta = abs(stationEta) - 1;
42  bool isSmall(m_idHelper->isSmall(id));
43  int phi=2*m_idHelper->stationPhi(id) - static_cast<int>(!isSmall);
44  int ml=m_idHelper->multilayer(id);
45  int ly=m_idHelper->gasGap(id);
46  std::ostringstream stationName;
47  stationName<<"M"<<stationEta<<(isSmall ? "S" : "L")<<ml;
49  }
50 
51 
52 #endif
MicromegasHitIdHelper::GetSide
int GetSide(const int &hid) const
Definition: MicromegasHitIdHelper.cxx:94
Muon::nsw::STGTPSegments::moduleIDBits::stationPhi
constexpr uint8_t stationPhi
station Phi 1 to 8
Definition: NSWSTGTPDecodeBitmaps.h:129
MicromegasHitIdHelper::GetStationName
std::string GetStationName(const int &hid) const
Definition: MicromegasHitIdHelper.cxx:61
MicromegasHitIdHelper::GetMultiLayer
int GetMultiLayer(const int &hid) const
Definition: MicromegasHitIdHelper.cxx:84
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
MM_SimIdToOfflineId
Definition: MM_SimIdToOfflineId.h:12
dumpTgcDigiDeadChambers.stationName
dictionary stationName
Definition: dumpTgcDigiDeadChambers.py:30
MicromegasHitIdHelper.h
MicromegasHitIdHelper::GetZSector
int GetZSector(const int &hid) const
Definition: MicromegasHitIdHelper.cxx:78
MicromegasHitIdHelper::GetLayer
int GetLayer(const int &hid) const
Definition: MicromegasHitIdHelper.cxx:89
MmIdHelper::multilayer
int multilayer(const Identifier &id) const
Definition: MmIdHelper.cxx:796
MuonIdHelper::isSmall
bool isSmall(const Identifier &id) const
Definition: MuonIdHelper.cxx:835
TRT::Hit::side
@ side
Definition: HitInfo.h:83
MM_SimIdToOfflineId::convert
Identifier convert(int simId) const
Definition: MM_SimIdToOfflineId.h:24
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
MM_SimIdToOfflineId::m_idHelper
const MmIdHelper * m_idHelper
Definition: MM_SimIdToOfflineId.h:19
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
MmIdHelper.h
MicromegasHitIdHelper
Definition: MicromegasHitIdHelper.h:13
MuonIdHelper::stationPhi
int stationPhi(const Identifier &id) const
Definition: MuonIdHelper.cxx:814
MicromegasHitIdHelper::GetPhiSector
int GetPhiSector(const int &hid) const
Definition: MicromegasHitIdHelper.cxx:73
MuonIdHelper::stationEta
int stationEta(const Identifier &id) const
Definition: MuonIdHelper.cxx:809
MicromegasHitIdHelper::BuildMicromegasHitId
int BuildMicromegasHitId(const std::string &, const int, const int, const int, const int, const int) const
Definition: MicromegasHitIdHelper.cxx:101
MmIdHelper
Definition: MmIdHelper.h:54
MmIdHelper::gasGap
int gasGap(const Identifier &id) const override
get the hashes
Definition: MmIdHelper.cxx:798
MM_SimIdToOfflineId::MM_SimIdToOfflineId
MM_SimIdToOfflineId(const MmIdHelper *idHelper)
Definition: MM_SimIdToOfflineId.h:14
Muon::nsw::STGTPSegments::moduleIDBits::stationEta
constexpr uint8_t stationEta
1 to 3
Definition: NSWSTGTPDecodeBitmaps.h:127
MmIdHelper::channelID
Identifier channelID(int stationName, int stationEta, int stationPhi, int multilayer, int gasGap, int channel) const
Definition: MmIdHelper.cxx:736
MM_SimIdToOfflineId::m_simIdHelper
const MicromegasHitIdHelper * m_simIdHelper
Definition: MM_SimIdToOfflineId.h:20