17#ifndef MUONCALIBIDENTIFIER_MUONFIXEDID_H
18#define MUONCALIBIDENTIFIER_MUONFIXEDID_H
91 std::ostream&
dump(std::ostream& os)
const;
785 if (Ieta < 0 ) Ieta = -Ieta*10 ;
787 if (Ichamber==1 || Ichamber==2 || Ichamber==8 || Ichamber==13 || Ichamber==7 || Ichamber==15 || Ichamber==24) ImezzTubes=6;
789 if(Ichamber==2 && std::abs(Ieta)==8) ImezzTubes=8;
790 int Imezz = ((Itube-1)/ImezzTubes)*2+(Iml-1) ;
791 Imezz = 9*100000000 + Ichamber*1000000 + Ieta*10000 + Iphi*100 + Imezz ;
1201 return id.dump( os );
Implements fixed identifiers not dependent upon Athena Identifier for internal use in the calibration...
bool setTgcIsStrip(int num)
Tgc specific: set is_strip to num.
int mdtMultilayerIndex() const
Mdt specific:
bool setRpcDoubletZ(int num)
Rpc specific: set doublet_Z to num.
void clear()
clear the identifier (=set to invalid)
void set_rpc()
set identifier to RPC technology type
static const unsigned int kRpcMeasuresPhiMask
bool setRpcDoubletPhiIndex(unsigned int idx)
Rpc specific: set index for doublet_Phi to idx.
static int cscMeasuresPhiMax()
Csc specific:
static const unsigned int kStationShift
bool setMdtMultilayerIndex(unsigned int idx)
Mdt specific: set index idx for multilayer.
int stationNameIndex() const
static const unsigned int kMdtMultilayerShift
static const unsigned int kCscWireLayerMin
int rpcStripIndex() const
Rpc specific:
static const unsigned int kCscMeasuresPhiMask
bool setCscWireLayer(int num)
Csc specific: set wire layer to num.
static int cscWireLayerMin()
Csc specific:
int mdtTubeLayerIndex() const
Mdt specific:
static int mdtMultilayerMin()
Mdt specific:
bool setTgcGasGapIndex(unsigned int idx)
Tgc specific: set index for gas_gap to idx.
void set_csc()
set identifier to CSC technology type
static const unsigned int kTgcGasGapMask
static const unsigned int kCscStripMin
int cscWireLayer() const
Csc specific:
int rpcDoubletZIndex() const
Rpc specific:
static const unsigned int kRpcDoubletZShift
bool setTgcGasGap(int num)
Tgc specific: set gas_gap to num.
static int stationNameMin()
bool operator!=(const MuonFixedId &rhs) const
comparison operator
static const unsigned int kRpcStripShift
bool setCscChamberLayer(int num)
Csc specific: set chamber layer to num.
static const unsigned int kTgcIsStripMask
bool setRpcGasGap(int num)
Rpc specific: set gas_gap to num.
static int mdtTubeLayerMax()
Mdt specific:
static const unsigned int kRpcGasGapShift
static const int technologyTGC
static int technologyMax()
int mdtMezzanine() const
Mdt specific: compute the mezzanine number.
bool setTechnology(int num)
set technology to num in the fixed identifier
static const unsigned int kStationPhiMin
bool setStationEta(int num)
set station eta to num in the fixed identifier
bool setCscMeasuresPhi(int num)
Csc specific: set measures_phi to num.
int cscWireLayerIndex() const
Csc specific:
static const char kStationNameStrings[kNumberOfStationNames][4]
static const unsigned int kCscWireLayerShift
static const unsigned int kMdtTubeLayerShift
static const int kStationEtaMin
static const unsigned int kRpcDoubletRShift
static const unsigned int kCscChamberLayerMask
static const unsigned int kTgcIsStripShift
static int cscWireLayerMax()
Csc specific:
MuonFixedId()
default constructor
static const unsigned int kCscMeasuresPhiShift
int tgcIsStripIndex() const
Tgc specific:
static const unsigned int kMdtMultilayerMask
static const unsigned int kCscStripShift
static const unsigned int kRpcDoubletZMask
static const unsigned int kTgcGasGapMin
bool setRpcDoubletRIndex(unsigned int idx)
Rpc specific: set index for doublet_R to idx.
static const int technologyMDT
constants for technology numbers
bool setTgcChannel(int num)
Tgc specific: set channel to num.
int rpcDoubletPhi() const
Rpc specific:
bool setCscWireLayerIndex(unsigned int idx)
Csc specific: set wire layer index to idx.
bool setMdtTubeLayerIndex(unsigned int idx)
Mdt specific: set index idx for layer.
bool operator<(const MuonFixedId &rhs) const
comparison operator
static const unsigned int kRpcDoubletPhiMask
static const unsigned int kStationPhiShift
std::string technologyString() const
void set_tgc()
set identifier to TGC technology type
bool setRpcGasGapIndex(unsigned int idx)
Rpc specific: set index for gas_gap to idx.
bool setRpcMeasuresPhiIndex(unsigned int idx)
Rpc specific: set index for measures_phi to idx.
static const unsigned int kCscChamberLayerShift
int tgcIsStrip() const
Tgc specific:
static int mdtMultilayerMax()
Mdt specific:
static const unsigned int kTechnologyMin
static const unsigned int kMdtTubeShift
bool setRpcDoubletZIndex(unsigned int idx)
Rpc specific: set index for doublet_Z to idx.
static const unsigned int kTechnologyShift
static int cscStripMax()
Csc specific:
static const unsigned int kStationPhiMask
bool setCscMeasuresPhiIndex(unsigned int idx)
Csc specific: set measures_phi index to idx.
static const unsigned int kRpcStripMask
int tgcChannelIndex() const
Tgc specific:
static const unsigned int kStationNameMask
bool setCscStrip(int num)
Csc specific: set strip to num.
static const unsigned int kRpcDoubletPhiMin
bool setRpcMeasuresPhi(int num)
Rpc specific: set measures_phi to num.
static const unsigned int kCscMeasuresPhiMin
static std::string stationNumberToFixedStationString(const int station)
static const unsigned int kStationNameMin
bool setMdtTubeLayer(int num)
Mdt specific: set layer to num.
static const unsigned int kRpcGasGapMin
int rpcDoubletRIndex() const
Rpc specific:
bool setStationPhi(int num)
set station phi to num in the fixed identifier
bool setMdtTube(int num)
Mdt specific: set tube to num.
static const unsigned int kMdtTubeMask
static int cscChamberLayerMax()
Csc specific:
bool setStationEtaIndex(unsigned int idx)
set station eta index in the fixed identifier
static int cscMeasuresPhiMin()
Csc specific:
int cscChamberLayerIndex() const
Csc specific:
bool operator==(const MuonFixedId &rhs) const
comparison operator
int mdtTubeLayer() const
Mdt specific:
int mdtTube() const
Mdt specific:
int cscStripIndex() const
Csc specific:
bool setStationNameIndex(unsigned int idx)
set station name index in the fixed identifier
MuonFixedId mdtMultilayerId() const
Mdt specific: convert channel ID into MDT Multilayer ID.
int tgcGasGap() const
Tgc specific:
unsigned int getIdInt() const
int rpcGasGapIndex() const
Rpc specific:
static const unsigned int kMdtTubeLayerMin
bool setTgcChannelIndex(unsigned int idx)
Tgc specific: set index for channel to idx.
int rpcGasGap() const
Rpc specific:
static const unsigned int kStationEtaMask
static int mdtTubeMin()
Mdt specific:
static const unsigned int kStationMask
static const unsigned int kRpcMeasuresPhiMin
static int mdtTubeMax()
Mdt specific:
static const int technologyRPC
bool setCscChamberLayerIndex(unsigned int idx)
Csc specific: set chamber layer index to idx.
int mdtTubeIndex() const
Mdt specific:
static const unsigned int kCscChamberLayerMin
static const unsigned int kStationEtaShift
bool setRpcStrip(int num)
Rpc specific: set strip to num.
static const unsigned int kCscStripMask
int cscMeasuresPhi() const
Csc specific:
static int cscStripMin()
Csc specific:
bool setRpcDoubletR(int num)
Rpc specific: set doublet_R to num.
int rpcMeasuresPhi() const
Rpc specific:
static const unsigned int kRpcDoubletRMask
static int mdtTubeLayerMin()
Mdt specific:
static const unsigned int kTechnologyMask
int tgcGasGapIndex() const
Tgc specific:
MuonFixedId mdtChamberId() const
Mdt specific: convert channel ID into MDT Chamber ID.
static const unsigned int kTgcIsStripMin
int cscStrip() const
Csc specific:
bool setMdtMultilayer(int num)
Mdt specific: set multilayer to num.
static int technologyMin()
bool setRpcStripIndex(unsigned int idx)
Rpc specific: set index for strip to idx.
bool setRpcDoubletPhi(int num)
Rpc specific: set doublet_Phi to num.
int tgcChannel() const
Tgc specific:
int rpcMeasuresPhiIndex() const
Rpc specific:
int rpcDoubletR() const
Rpc specific:
bool isValid() const
check validity of the identifier.
bool setMdtTubeIndex(unsigned int idx)
Mdt specific: set index idx for tube.
static const unsigned int kStationNameShift
bool setTgcIsStripIndex(unsigned int idx)
Tgc specific: set index for is_strip to idx.
static int stationNameMax()
static const unsigned int kRpcMeasuresPhiShift
bool setCscStripIndex(unsigned int idx)
Csc specific: set strip index to idx.
int cscMeasuresPhiIndex() const
Csc specific:
std::string stationNameString() const
int technologyIndex() const
bool setStationName(int num)
set station name to num in the fixed identifier
static const int kNumberOfStationNames
static const unsigned int kTgcChannelMask
static const unsigned int kRpcDoubletPhiShift
static const int kNumberOfTechnologies
static const unsigned int kRpcDoubletZMin
static const char kTechnologyStrings[kNumberOfTechnologies][4]
static const unsigned int kRpcGasGapMask
static int stationStringToFixedStationNumber(const std::string &station)
static const unsigned int kInvalidData
int rpcStrip() const
Rpc specific:
int mdtMultilayer() const
Mdt specific:
void set_mdt()
set identifier to MDT technology type
static int cscChamberLayerMin()
Csc specific:
int rpcDoubletPhiIndex() const
Rpc specific:
int rpcDoubletZ() const
Rpc specific:
static const int technologyCSC
bool setStationPhiIndex(unsigned int idx)
set station phi index in the fixed identifier
static const unsigned int kMdtTubeLayerMask
static const unsigned int kRpcStripMin
static const unsigned int kTgcGasGapShift
static const unsigned int kTgcChannelShift
static const unsigned int kTgcChannelMin
bool setTechnologyIndex(unsigned int idx)
set technology index in the fixed identifier
static const unsigned int kCscWireLayerMask
static const unsigned int kRpcDoubletRMin
static const unsigned int kMdtTubeMin
static const unsigned int kMdtMultilayerMin
int cscChamberLayer() const
Csc specific:
CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.
std::ostream & operator<<(std::ostream &os, const RtFullInfo &data)