17#ifndef MUONCALIBIDENTIFIER_MUONFIXEDLONGID_H
18#define MUONCALIBIDENTIFIER_MUONFIXEDLONGID_H
164 std::ostream&
dump(std::ostream& os)
const;
750 if (
id <= std::numeric_limits<uint32_t>::max()) {
1016 if (Ieta < 0 ) Ieta = -Ieta*10 ;
1017 int ImezzTubes = 8 ;
1025 int Imezz = ((Itube-1)/ImezzTubes)*2+(Iml-1) ;
1026 Imezz = 9*100000000 + Ichamber*1000000 + Ieta*10000 + Iphi*100 + Imezz ;
1578 return id.dump( os );
Implements fixed identifiers not dependent upon Athena Identifier for internal use in the calibration...
static const int kStationNameMin
static const int kMmgGasGapMin
bool operator<(const MuonFixedLongId &rhs) const
comparison operator
static const int kNumberOfStationNames
bool setRpcDoubletPhiIndex(uint64_t idx)
Rpc specific: set index for doublet_Phi to idx.
void set_tgc()
set identifier to TGC technology type
static const unsigned int kRpcDoubletRShift
bool setRpcDoubletPhi(int num)
Rpc specific: set doublet_Phi to num.
int stgMultilayer() const
Stg specific:
static const int kRpcGasGapMin
static int cscStripMax()
Csc specific:
unsigned int stationNameIndex() const
int tgcIsStrip() const
Tgc specific:
static const uint64_t kMdtTubeLayerMask
static const uint64_t kRpcMeasuresPhiMask
bool setCscStrip(int num)
Csc specific: set strip to num.
bool setStgGasGapIndex(uint64_t idx)
Stg specific: set index for gas_gap to idx.
static const uint64_t kTgcGasGapMask
void set_rpc()
set identifier to RPC technology type
static const uint64_t kStationPhiMask
static const uint64_t kCscChamberLayerMask
static int mdtTubeMax()
Mdt specific:
static int cscMeasuresPhiMax()
Csc specific:
static const unsigned int kStgGasGapShift
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.
unsigned int rpcDoubletZIndex() const
Rpc specific:
static const unsigned int kTgcChannelShift
static const uint64_t kCscMeasuresPhiMask
bool setMdtMultilayer(int num)
Mdt specific: set multilayer to num.
static int cscChamberLayerMin()
Csc specific:
unsigned int phiIndex() const
bool setMdtTubeIndex(uint64_t idx)
Mdt specific: set index idx for tube.
bool mmgIsStereo() const
Mmg specific: check if layer is stereo.
static const int kStgMultilayerMin
static const int kTgcIsStripMin
bool setMmgGasGapIndex(uint64_t idx)
Mmg specific: set index for gas_gap to idx.
static const uint64_t kTgcChannelMask
static const int kTgcGasGapMin
int mmgGasGap() const
Mmg specific:
bool setRpcDoubletRIndex(uint64_t idx)
Rpc specific: set index for doublet_R to idx.
bool setCscChamberLayerIndex(uint64_t idx)
Csc specific: set chamber layer index to idx.
StgChannelType
an enum with the STGC channel types
static const uint64_t kInvalidData
int rpcStrip() const
Rpc specific:
unsigned int stgMultilayerIndex() const
Stg specific:
int mmgStrip() const
Mmg specific:
static int stationNameMax()
bool setCscStripIndex(uint64_t idx)
Csc specific: set strip index to idx.
static const int kStationEtaMin
StationName
an enum with the station names
bool setTgcGasGap(int num)
Tgc specific: set gas_gap to num.
static const int kMdtTubeLayerMin
static const uint64_t kStationNameMask
bool setStationNameIndex(uint64_t idx)
set station name index in the fixed identifier
static int mdtTubeMin()
Mdt specific:
unsigned int mmgGasGapIndex() const
Mmg specific:
void clear()
clear the identifier (=set to invalid)
MuonFixedLongId mdtChamberId() const
Mdt specific: convert channel ID into MDT Chamber ID.
bool operator==(const MuonFixedLongId &rhs) const
comparison operator
bool setRpcGasGapIndex(uint64_t idx)
Rpc specific: set index for gas_gap to idx.
static int cscWireLayerMin()
Csc specific:
unsigned int etaIndex() const
int cscWireLayer() const
Csc specific:
bool setTgcGasGapIndex(uint64_t idx)
Tgc specific: set index for gas_gap to idx.
bool setTgcChannelIndex(uint64_t idx)
Tgc specific: set index for channel to idx.
void initFromFixedId(MuonFixedId other)
for backward compatibility
static int technologyMin()
bool setStgChannelTypeIndex(uint64_t idx)
Stg specific: set index for channel_type to idx.
static int cscChamberLayerMax()
Csc specific:
bool setTechnology(Technology num)
set technology to num in the fixed identifier
bool setStationName(StationName num)
set station name to num in the fixed identifier
bool setMdtTubeLayer(int num)
Mdt specific: set layer to num.
static const int kCscMeasuresPhiMin
bool setTgcIsStripIndex(uint64_t idx)
Tgc specific: set index for is_strip to idx.
unsigned int rpcMeasuresPhiIndex() const
Rpc specific:
static const unsigned int kRpcMeasuresPhiShift
unsigned int tgcGasGapIndex() const
Tgc specific:
Technology technology() const
int rpcGasGap() const
Rpc specific:
bool setMmgMultilayerIndex(uint64_t idx)
Mmg specific: set index idx for multilayer.
std::string_view stationNameString() const
static const int kRpcDoubletPhiMin
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.
static const uint64_t kTgcIsStripMask
int tgcChannel() const
Tgc specific:
unsigned int stgGasGapIndex() const
Stg specific:
void set_mmg()
set identifier to MMG technology type
MuonFixedLongId mdtMultilayerId() const
Mdt specific: convert channel ID into MDT Multilayer ID.
bool setRpcMeasuresPhiIndex(uint64_t idx)
Rpc specific: set index for measures_phi to idx.
bool setRpcDoubletZIndex(uint64_t idx)
Rpc specific: set index for doublet_Z to idx.
static const unsigned int kMmgStripShift
static const uint64_t kStgGasGapMask
bool setStationEtaIndex(uint64_t idx)
set station eta index in the fixed identifier
static const uint64_t kRpcDoubletZMask
unsigned int cscStripIndex() const
Csc specific:
static const int kMmgStripMin
static const unsigned int kCscStripShift
static int cscMeasuresPhiMin()
Csc specific:
static const int kStgGasGapMin
static const int kStgChannelMin
static const unsigned int kStgChannelShift
static const unsigned int kRpcDoubletZShift
unsigned int rpcDoubletRIndex() const
Rpc specific:
static const uint64_t kMmgGasGapMask
static const uint64_t kTechnologyMask
static const uint64_t kStgChannelTypeMask
unsigned int cscMeasuresPhiIndex() const
Csc specific:
unsigned int stgChannelTypeIndex() const
Stg specific:
static const int kStgChannelTypeMin
static const uint64_t kStationEtaMask
unsigned int rpcDoubletPhiIndex() const
Rpc specific:
bool setCscMeasuresPhiIndex(uint64_t idx)
Csc specific: set measures_phi index to idx.
bool setMdtTube(int num)
Mdt specific: set tube to num.
static const int kTechnologyMin
static const uint64_t kCscStripMask
bool setMmgStripIndex(uint64_t idx)
Mmg specific: set strip index to idx.
static const int kMdtTubeMin
static const unsigned int kRpcGasGapShift
bool setStationEta(int num)
set station eta to num in the fixed identifier
static int cscWireLayerMax()
Csc specific:
static const unsigned int kTechnologyShift
int tgcGasGap() const
Tgc specific:
bool setMmgStrip(int num)
Mmg specific: set strip to num.
bool setRpcStripIndex(uint64_t idx)
Rpc specific: set index for strip to idx.
static const char kStationNameStrings[kNumberOfStationNames][4]
uint64_t getIdLong() const
static const int kCscChamberLayerMin
static int stationNameMin()
int stgChannel() const
Stg specific:
static int mdtMultilayerMax()
Mdt specific:
unsigned int mdtTubeLayerIndex() const
Mdt specific:
int stgGasGap() const
Stg specific:
static const unsigned int kMmgGasGapShift
bool setCscMeasuresPhi(int num)
Csc specific: set measures_phi to num.
static const uint64_t kMmgMultilayerMask
static const uint64_t kStgChannelMask
bool setStgGasGap(int num)
Stg specific: set gas_gap to num.
static const unsigned int kRpcDoubletPhiShift
int rpcDoubletZ() const
Rpc specific:
static const unsigned int kStationEtaShift
static const int kTgcChannelMin
bool setMmgMultilayer(int num)
Mmg specific: set multilayer to num.
unsigned int rpcGasGapIndex() const
Rpc specific:
static const uint64_t kRpcDoubletPhiMask
int cscChamberLayer() const
Csc specific:
static int mdtTubeLayerMin()
Mdt specific:
unsigned int cscWireLayerIndex() const
Csc specific:
static const int kMdtMultilayerMin
bool setStgChannelType(StgChannelType num)
Stg specific: set channel_type to num.
static int mdtTubeLayerMax()
Mdt specific:
bool setMdtTubeLayerIndex(uint64_t idx)
Mdt specific: set index idx for layer.
static const uint64_t kStationMask
static const unsigned int kStationPhiShift
static const unsigned int kMdtTubeShift
bool setTgcChannel(int num)
Tgc specific: set channel to num.
unsigned int tgcIsStripIndex() const
Tgc specific:
unsigned int technologyIndex() const
static const unsigned int kStgMultilayerShift
static const unsigned int kStgChannelTypeShift
bool setStgMultilayer(int num)
Stg specific: set multilayer to num.
static const unsigned int kCscMeasuresPhiShift
bool setMmgGasGap(int num)
Mmg specific: set gas_gap to num.
static const unsigned int kStationNameShift
int mdtTubeLayer() const
Mdt specific:
Technology
constants for technology numbers
unsigned int cscChamberLayerIndex() const
Csc specific:
unsigned int mdtMultilayerIndex() const
Mdt specific:
bool setTgcIsStrip(int num)
Tgc specific: set is_strip to num.
static const unsigned int kMmgMultilayerShift
static const unsigned int kStationShift
static const uint64_t kRpcDoubletRMask
static int mdtMultilayerMin()
Mdt specific:
bool setStgChannelIndex(uint64_t idx)
Stg specific: set index for channel to idx.
std::string_view technologyString() const
static const unsigned int kMdtTubeLayerShift
StationName stationName() const
unsigned int mmgStripIndex() const
Mmg specific:
static const int kRpcStripMin
StgChannelType stgChannelType() const
Stg specific:
unsigned int rpcStripIndex() const
Rpc specific:
static int technologyMax()
bool setCscWireLayer(int num)
Csc specific: set wire layer to num.
bool setRpcStrip(int num)
Rpc specific: set strip to num.
static const int kRpcDoubletZMin
bool setCscWireLayerIndex(uint64_t idx)
Csc specific: set wire layer index to idx.
static const uint64_t kCscWireLayerMask
int mdtMezzanine() const
Mdt specific: compute the mezzanine number.
static const unsigned int kTgcIsStripShift
bool operator!=(const MuonFixedLongId &rhs) const
comparison operator
static const int kMmgMultilayerMin
int mdtTube() const
Mdt specific:
static const uint64_t kMdtTubeMask
static const int kRpcMeasuresPhiMin
bool setStgMultilayerIndex(uint64_t idx)
Stg specific: set index idx for multilayer.
int cscStrip() const
Csc specific:
static std::string_view stationNumberToFixedStationString(StationName station)
unsigned int mmgMultilayerIndex() const
Mmg specific:
static const int kCscStripMin
int rpcDoubletR() const
Rpc specific:
MuonFixedLongId()
default constructor
int rpcMeasuresPhi() const
Rpc specific:
static const unsigned int kMdtMultilayerShift
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
unsigned int stgChannelIndex() const
Stg specific:
unsigned int tgcChannelIndex() const
Tgc specific:
static const uint64_t kRpcGasGapMask
static const unsigned int kTgcGasGapShift
static const int kStationPhiMin
bool setCscChamberLayer(int num)
Csc specific: set chamber layer to num.
static const int kCscWireLayerMin
static StationName stationStringToFixedStationNumber(std::string_view station)
static const uint64_t kStgMultilayerMask
bool setTechnologyIndex(uint64_t idx)
set technology index in the fixed identifier
static const unsigned int kCscChamberLayerShift
bool setStationPhiIndex(uint64_t idx)
set station phi index in the fixed identifier
int cscMeasuresPhi() const
Csc specific:
bool setStgChannel(int num)
Stg specific: set channel to num.
bool setMdtMultilayerIndex(uint64_t idx)
Mdt specific: set index idx for multilayer.
static const unsigned int kCscWireLayerShift
static const unsigned int kRpcStripShift
static int cscStripMin()
Csc specific:
static const uint64_t kMmgStripMask
static const uint64_t kRpcStripMask
void set_mdt()
set identifier to MDT technology type
static const int kRpcDoubletRMin
unsigned int mdtTubeIndex() const
Mdt specific:
static const uint64_t kMdtMultilayerMask
void set_stg()
set identifier to sTGC technology type
bool isValid() const
check validity of the identifier.
CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.
std::ostream & operator<<(std::ostream &os, const RtFullInfo &data)