ATLAS Offline Software
Loading...
Searching...
No Matches
MuonFixedLongId.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
6
7namespace MuonCalib {
8
10 if (other.is_mdt()) {
11 set_mdt();
12 setStationName(static_cast<StationName>(other.stationName()));
13 setStationEta(other.eta());
14 setStationPhi(other.phi());
15 setMdtMultilayer(other.mdtMultilayer());
16 setMdtTubeLayer(other.mdtTubeLayer());
17 setMdtTube(other.mdtTube());
18 } else if (other.is_rpc()) {
19 set_rpc();
20 setStationName(static_cast<StationName>(other.stationName()));
21 setStationEta(other.eta());
22 setStationPhi(other.phi());
23 setRpcDoubletR(other.rpcDoubletR());
24 setRpcDoubletZ(other.rpcDoubletZ());
25 setRpcDoubletPhi(other.rpcDoubletPhi());
26 setRpcGasGap(other.rpcGasGap());
27 setRpcMeasuresPhi(other.rpcMeasuresPhi());
28 setRpcStrip(other.rpcStrip());
29 } else if (other.is_csc()) {
30 set_csc();
31 setStationName(static_cast<StationName>(other.stationName()));
32 setStationEta(other.eta());
33 setStationPhi(other.phi());
34 setCscChamberLayer(other.cscChamberLayer());
35 setCscWireLayer(other.cscWireLayer());
36 setCscMeasuresPhi(other.cscMeasuresPhi());
37 setCscStrip(other.cscStrip());
38 } else if (other.is_tgc()) {
39 set_tgc();
40 setStationName(static_cast<StationName>(other.stationName()));
41 setStationEta(other.eta());
42 setStationPhi(other.phi());
43 setTgcGasGap(other.tgcGasGap());
44 setTgcIsStrip(other.tgcIsStrip());
45 setTgcChannel(other.tgcChannel());
46 }
47}
48
49std::ostream& MuonFixedLongId::dump(std::ostream& os) const {
50 os << technology() << ": stnEta " << eta() << ", stnPhi " << phi() << " "
51 << technologyString() << ": " << stationNameString() ;
52 if( is_mdt() ){
53 os << ", mdtMultiLayer " << mdtMultilayer() << ", mdtTubeLayer "
54 << mdtTubeLayer() << ", mdtTube " << mdtTube() ;
55 } else if( is_rpc() ) {
56 os << ", rpcDoubletR " << rpcDoubletR() << ", rpcDoubletZ "
57 << rpcDoubletZ() << ", rpcDoubletPhi " << rpcDoubletPhi() << ", rpcGasGap " << rpcGasGap() << ", rpcMeasuresPhi "
58 << rpcMeasuresPhi() << ", rpcStrip " << rpcStrip() ;
59 } else if( is_tgc() ) {
60 os << ", tgcGasGap " << tgcGasGap() << ", tgcIsStrip "
61 << tgcIsStrip() << ", tgcChannel " << tgcChannel() ;
62 } else if( is_csc() ) {
63 os << ", cscChamberLayer " << cscChamberLayer() << ", cscWireLayer "
64 << cscWireLayer() << ", cscMeasuresPhi " << cscMeasuresPhi() << ", cscStrip " << cscStrip() ;
65 } else if ( is_mmg() ) {
66 os << ", mmgMultilayer " << mmgMultilayer() << ", mmgGasGap " << mmgGasGap() << ", mmgStrip " << mmgStrip();
67 } else if ( is_stg() ) {
68 os << ", stgMultilayer " << stgMultilayer() << ", stgGasGap " << stgGasGap()
69 << ", stgChannelType " << stgChannelType() << ", stgChannel " << stgChannel();
70 } else
71 os << "Invalid MuonFixedLongId" ;
72
73 return os;
74}
75
77 // 1 2 3 4 5 6 7 8 9 10 11 12 13
78 "BIL", "BIS", "BML", "BMS", "BOL", "BOS", "BEE", "BIR", "BMF", "BOF", "BOG", "BME", "BIM",
79 //14 15 16 17 18 19 20 21 22 23 24
80 "EIC", "EIL", "EEL", "EES", "EMC", "EML", "EMS", "EOC", "EOL", "EOS", "EIS",
81 //25 26 27 28 29 30 31 32 33 34 35
82 "T1F", "T1E", "T2F", "T2E", "T3F", "T3E", "T4F", "T4E", "CSS", "CSL", "BMG",
83 //36 37 38 39
84 "MMS", "MML", "STS", "STL"
85};
86
88 "MDT", "CSC", "TGC", "RPC", "MMG", "STG"
89};
90
91} // end of namespace MuonCalib
Implements fixed identifiers not dependent upon Athena Identifier for internal use in the calibration...
Definition MuonFixedId.h:50
static const int kNumberOfStationNames
void set_tgc()
set identifier to TGC technology type
bool setRpcDoubletPhi(int num)
Rpc specific: set doublet_Phi to num.
int stgMultilayer() const
Stg specific:
int tgcIsStrip() const
Tgc specific:
bool setCscStrip(int num)
Csc specific: set strip to num.
void set_rpc()
set identifier to RPC technology type
void set_csc()
set identifier to CSC technology type
bool setRpcDoubletR(int num)
Rpc specific: set doublet_R to num.
bool setRpcDoubletZ(int num)
Rpc specific: set doublet_Z to num.
bool setMdtMultilayer(int num)
Mdt specific: set multilayer to num.
int mmgGasGap() const
Mmg specific:
int rpcStrip() const
Rpc specific:
int mmgStrip() const
Mmg specific:
StationName
an enum with the station names
bool setTgcGasGap(int num)
Tgc specific: set gas_gap to num.
int cscWireLayer() const
Csc specific:
void initFromFixedId(MuonFixedId other)
for backward compatibility
bool setStationName(StationName num)
set station name to num in the fixed identifier
bool setMdtTubeLayer(int num)
Mdt specific: set layer to num.
Technology technology() const
int rpcGasGap() const
Rpc specific:
std::string_view stationNameString() const
bool setRpcGasGap(int num)
Rpc specific: set gas_gap to num.
int rpcDoubletPhi() const
Rpc specific:
static const char kTechnologyStrings[kNumberOfTechnologies][4]
bool setRpcMeasuresPhi(int num)
Rpc specific: set measures_phi to num.
int tgcChannel() const
Tgc specific:
std::ostream & dump(std::ostream &os) const
dump all the information corresponding to the identifier
bool setMdtTube(int num)
Mdt specific: set tube to num.
bool setStationEta(int num)
set station eta to num in the fixed identifier
int tgcGasGap() const
Tgc specific:
static const char kStationNameStrings[kNumberOfStationNames][4]
int stgChannel() const
Stg specific:
int stgGasGap() const
Stg specific:
bool setCscMeasuresPhi(int num)
Csc specific: set measures_phi to num.
int rpcDoubletZ() const
Rpc specific:
int cscChamberLayer() const
Csc specific:
bool setTgcChannel(int num)
Tgc specific: set channel to num.
int mdtTubeLayer() const
Mdt specific:
bool setTgcIsStrip(int num)
Tgc specific: set is_strip to num.
std::string_view technologyString() const
StgChannelType stgChannelType() const
Stg specific:
bool setCscWireLayer(int num)
Csc specific: set wire layer to num.
bool setRpcStrip(int num)
Rpc specific: set strip to num.
int mdtTube() const
Mdt specific:
int cscStrip() const
Csc specific:
int rpcDoubletR() const
Rpc specific:
int rpcMeasuresPhi() const
Rpc specific:
int mdtMultilayer() const
Mdt specific:
int mmgMultilayer() const
Mmg specific:
bool setStationPhi(int num)
set station phi to num in the fixed identifier
static const int kNumberOfTechnologies
bool setCscChamberLayer(int num)
Csc specific: set chamber layer to num.
int cscMeasuresPhi() const
Csc specific:
void set_mdt()
set identifier to MDT technology type
CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.