Roman Pot detector ID. More...
#include <TotemRPDetId.h>
Public Types | |
enum | ElementLevel { lSystem, lArm, lStation, lRP, lPlane, lChip, lStrip } |
level identifier in the RP hierarchy More... | |
enum | NameFlag { nShort, nFull, nPath } |
type of name returned by *Name functions More... | |
Public Types inherited from DetId | |
enum | Detector { Tracker =1, Muon =2, Ecal =3, Hcal =4, Calo =5, Forward =6, VeryForward =7 } |
Public Member Functions | |
int | arm () const |
int | detector () const |
unsigned int | detectorDecId () const |
bool | isStripsCoordinateUDirection () const |
bool | isStripsCoordinateVDirection () const |
int | romanPot () const |
int | rpCopyNumber () const |
int | station () const |
TotemRPDetId () | |
TotemRPDetId (uint32_t id) | |
TotemRPDetId (unsigned int Arm, unsigned int Station, unsigned int RomanPot, unsigned int Detector) | |
Construct from fully qualified identifier. More... | |
Public Member Functions inherited from DetId | |
Detector | det () const |
get the detector field from this detid More... | |
DetId () | |
Create an empty or null id (also for persistence) More... | |
DetId (uint32_t id) | |
Create an id from a raw number. More... | |
DetId (Detector det, int subdet) | |
Create an id, filling the detector and subdetector fields as specified. More... | |
bool | null () const |
is this a null id ? More... | |
operator uint32_t () const | |
bool | operator!= (DetId id) const |
inequality More... | |
uint32_t | operator() () const |
bool | operator< (DetId id) const |
comparison More... | |
bool | operator== (DetId id) const |
equality More... | |
uint32_t | rawId () const |
get the raw id More... | |
int | subdetId () const |
get the contents of the subdetector field (not cast into any detector's numbering enum) More... | |
Static Public Member Functions | |
static std::string | armName (unsigned int id, NameFlag flag=nFull) |
returns official name of an arm characterized by ''id''; if ''full'' is true, prefix rp_ added More... | |
static unsigned int | armOfDet (unsigned int i) |
returns ID of arm for given detector ID ''i'' More... | |
static unsigned int | armOfRP (unsigned int i) |
returns ID of arm for given RP ID ''i'' More... | |
static unsigned int | armOfSt (unsigned int i) |
returns ID of arm for given station ID ''i'' More... | |
static bool | check (unsigned int raw) |
returs true it the raw ID is a TOTEM RP one More... | |
static std::string | chipName (unsigned int id, NameFlag flag=nFull) |
returns official name of a chip characterized by ''id''; if ''full'' is true, name of plane is prefixed More... | |
static unsigned int | decToRawId (unsigned int dec) |
fast conversion Decimal to Raw ID More... | |
static bool | isStripsCoordinateUDirection (int Detector) |
static std::string | officialName (ElementLevel level, unsigned int id, NameFlag flag=nFull, unsigned char strip=0) |
shortcut to use any of the *Name methods, given the ElementLevel More... | |
static std::string | planeName (unsigned int id, NameFlag flag=nFull) |
returns official name of a plane characterized by ''id''; if ''full'' is true, name of RP is prefixed More... | |
static unsigned int | rawToDecId (unsigned int raw) |
fast conversion Raw to Decimal ID More... | |
static std::string | rpName (unsigned int id, NameFlag flag=nFull) |
returns official name of a RP characterized by ''id''; if ''full'' is true, name of station is prefixed More... | |
static unsigned int | rpOfDet (unsigned int i) |
returns ID of RP for given detector ID ''i'' More... | |
static std::string | stationName (unsigned int id, NameFlag flag=nFull) |
returns official name of a station characterized by ''id''; if ''full'' is true, name of arm is prefixed More... | |
static unsigned int | stOfDet (unsigned int i) |
returns ID of station for given detector ID ''i'' More... | |
static unsigned int | stOfRP (unsigned int i) |
returns ID of station for given RP ID ''i'' More... | |
static std::string | stripName (unsigned int id, unsigned char strip, NameFlag flag=nFull) |
returns official name of a strip characterized by ''id'' (of chip) and strip number; if ''full'' is true, name of chip is prefixed More... | |
static std::string | systemName (NameFlag flag=nFull) |
returns the name of the RP system More... | |
Static Public Attributes | |
static const unsigned int | maskArm = 0x1 |
static const unsigned int | maskDet = 0xF |
static const unsigned int | maskRP = 0x7 |
static const unsigned int | maskStation = 0x3 |
static const unsigned int | maxArm = 1 |
static const unsigned int | maxDet = 9 |
static const unsigned int | maxRP = 5 |
static const unsigned int | maxStation = 2 |
static const unsigned int | startArmBit = 24 |
static const unsigned int | startDetBit = 15 |
static const unsigned int | startRPBit = 19 |
static const unsigned int | startStationBit = 22 |
static const unsigned int | totem_rp_subdet_id = 3 |
Static Public Attributes inherited from DetId | |
static const int | kDetOffset = 28 |
static const int | kSubdetOffset = 25 |
Private Member Functions | |
void | init (unsigned int Arm, unsigned int Station, unsigned int RomanPot, unsigned int Detector) |
Additional Inherited Members | |
Protected Attributes inherited from DetId | |
uint32_t | id_ |
Roman Pot detector ID.
There are 3 types of IDs used in CMSSW in the context of RP.
The structure of the raw ID is the following (based on the concept of the DetId) Bit 24 = Arm: 1=z>0 0=z<0 Bits [22:23] Station Bits [19:21] Roman Pot number Bits [15:18] Si det. number
The advantage of the symbolic ID is that it is easily readable and that it can address most of the elements int the RP subdetector system: chip ID = |arm|station|RP|det|VFAT|, ie. 5-digit decimal number (possibly with leading zeros)
detector ID = |arm|station|RP|det|
Roman Pot ID = |arm|station|RP|
station ID = |arm|station|
arm ID = |arm|
where
Moreover there is an official naming scheme (EDMS 906715). It is supported by the ...Name() methods.
Definition at line 51 of file TotemRPDetId.h.
level identifier in the RP hierarchy
Enumerator | |
---|---|
lSystem | |
lArm | |
lStation | |
lRP | |
lPlane | |
lChip | |
lStrip |
Definition at line 171 of file TotemRPDetId.h.
type of name returned by *Name functions
Enumerator | |
---|---|
nShort | |
nFull | |
nPath |
Definition at line 168 of file TotemRPDetId.h.
TotemRPDetId::TotemRPDetId | ( | ) |
Definition at line 18 of file TotemRPDetId.cc.
|
explicit |
Construct from a raw id. It is required that the Detector part of id is Totem and the SubDet part is RP, otherwise an exception is thrown.
Definition at line 24 of file TotemRPDetId.cc.
References check(), DetId::det(), Exception, and DetId::subdetId().
TotemRPDetId::TotemRPDetId | ( | unsigned int | Arm, |
unsigned int | Station, | ||
unsigned int | RomanPot, | ||
unsigned int | Detector | ||
) |
Construct from fully qualified identifier.
Definition at line 61 of file TotemRPDetId.cc.
References init().
|
inline |
Definition at line 70 of file TotemRPDetId.h.
References DetId::id_, maskArm, and startArmBit.
Referenced by detectorDecId(), and rpCopyNumber().
returns official name of an arm characterized by ''id''; if ''full'' is true, prefix rp_ added
Definition at line 92 of file TotemRPDetId.cc.
References mergeVDriftHistosByStation::name, nFull, nPath, and systemName().
Referenced by TotemRPDQMSource::ArmPlots::ArmPlots(), officialName(), and stationName().
|
inlinestatic |
returns ID of arm for given detector ID ''i''
Definition at line 147 of file TotemRPDetId.h.
Referenced by TotemRPGeometry::BuildSets().
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
returs true it the raw ID is a TOTEM RP one
Definition at line 113 of file TotemRPDetId.h.
References DetId::kDetOffset, DetId::kSubdetOffset, totem_rp_subdet_id, and DetId::VeryForward.
Referenced by TotemRPDetId().
returns official name of a chip characterized by ''id''; if ''full'' is true, name of plane is prefixed
Definition at line 151 of file TotemRPDetId.cc.
References mergeVDriftHistosByStation::name, nFull, nPath, and planeName().
Referenced by officialName(), and stripName().
|
inlinestatic |
fast conversion Decimal to Raw ID
Definition at line 129 of file TotemRPDetId.h.
References i, DetId::kDetOffset, DetId::kSubdetOffset, maskArm, maskDet, maskRP, maskStation, startArmBit, startDetBit, startRPBit, startStationBit, totem_rp_subdet_id, and DetId::VeryForward.
Referenced by TotemRPDQMSource::analyze(), BuildElasticCorrectionsFile::beginRun(), BuildElasticCorrectionsFile::ProcessOnePot(), and RawToDigiConverter::Run().
|
inline |
Definition at line 85 of file TotemRPDetId.h.
References DetId::id_, maskDet, and startDetBit.
Referenced by detectorDecId(), and isStripsCoordinateUDirection().
|
inline |
Definition at line 105 of file TotemRPDetId.h.
References arm(), detector(), romanPot(), and station().
|
inlineprivate |
Definition at line 37 of file TotemRPDetId.cc.
References Exception, DetId::id_, maskArm, maskDet, maskRP, maskStation, maxArm, maxDet, maxRP, maxStation, convertSQLiteXML::ok, startArmBit, startDetBit, startRPBit, and startStationBit.
Referenced by TotemRPDetId().
|
inline |
Definition at line 95 of file TotemRPDetId.h.
References detector().
Referenced by TotemRPDQMSource::analyze(), isStripsCoordinateVDirection(), GeometryInfoModule::PrintGeometry(), and TotemRPUVPatternFinder::produce().
|
inlinestatic |
is Detector u-detector? expect symbolic/decimal ID
Definition at line 161 of file TotemRPDetId.h.
|
inline |
Definition at line 100 of file TotemRPDetId.h.
References isStripsCoordinateUDirection().
|
static |
shortcut to use any of the *Name methods, given the ElementLevel
Definition at line 179 of file TotemRPDetId.cc.
References armName(), chipName(), lArm, lChip, lPlane, lRP, lStation, lStrip, lSystem, planeName(), rpName(), stationName(), stripName(), and systemName().
returns official name of a plane characterized by ''id''; if ''full'' is true, name of RP is prefixed
Definition at line 137 of file TotemRPDetId.cc.
References mergeVDriftHistosByStation::name, nFull, nPath, and rpName().
Referenced by chipName(), TotemRPDQMHarvester::MakePlaneEfficiencyHistograms(), officialName(), and TotemRPDQMSource::PlanePlots::PlanePlots().
|
inlinestatic |
fast conversion Raw to Decimal ID
Definition at line 120 of file TotemRPDetId.h.
References maskArm, maskDet, maskRP, maskStation, startArmBit, startDetBit, startRPBit, and startStationBit.
Referenced by TotemRPDQMSource::analyze(), TotemRPGeometryESModule::ApplyAlignments(), TotemRPGeometry::BuildSets(), GeometryInfoModule::PrintGeometry(), TotemRPUVPatternFinder::produce(), and TotemRPUVPatternFinder::recognizeAndSelect().
|
inline |
Definition at line 80 of file TotemRPDetId.h.
References DetId::id_, maskRP, and startRPBit.
Referenced by detectorDecId(), and rpCopyNumber().
|
inline |
returns official name of a RP characterized by ''id''; if ''full'' is true, name of station is prefixed
Definition at line 120 of file TotemRPDetId.cc.
References mergeVDriftHistosByStation::name, nFull, nPath, and stationName().
Referenced by TotemRPDQMHarvester::MakeHitNumberRatios(), TotemRPDQMHarvester::MakePlaneEfficiencyHistograms(), officialName(), planeName(), and TotemRPDQMSource::PotPlots::PotPlots().
|
inlinestatic |
returns ID of RP for given detector ID ''i''
Definition at line 141 of file TotemRPDetId.h.
Referenced by TotemRPDQMSource::analyze(), TotemRPGeometry::BuildSets(), and TotemRPUVPatternFinder::produce().
|
inline |
Definition at line 75 of file TotemRPDetId.h.
References DetId::id_, maskStation, and startStationBit.
Referenced by detectorDecId(), geometryXMLparser.DTAlignable::index(), geometryXMLparser.CSCAlignable::index(), and rpCopyNumber().
returns official name of a station characterized by ''id''; if ''full'' is true, name of arm is prefixed
Definition at line 106 of file TotemRPDetId.cc.
References armName(), mergeVDriftHistosByStation::name, nFull, and nPath.
Referenced by officialName(), rpName(), and TotemRPDQMSource::StationPlots::StationPlots().
|
inlinestatic |
returns ID of station for given detector ID ''i''
Definition at line 144 of file TotemRPDetId.h.
Referenced by TotemRPGeometry::BuildSets().
|
inlinestatic |
|
static |
returns official name of a strip characterized by ''id'' (of chip) and strip number; if ''full'' is true, name of chip is prefixed
Definition at line 165 of file TotemRPDetId.cc.
References chipName(), mergeVDriftHistosByStation::name, nFull, and nPath.
Referenced by officialName().
returns the name of the RP system
Definition at line 81 of file TotemRPDetId.cc.
References mergeVDriftHistosByStation::name, nFull, and nPath.
Referenced by armName(), and officialName().
|
static |
Definition at line 65 of file TotemRPDetId.h.
Referenced by arm(), decToRawId(), init(), and rawToDecId().
|
static |
Definition at line 68 of file TotemRPDetId.h.
Referenced by decToRawId(), detector(), init(), and rawToDecId().
|
static |
Definition at line 67 of file TotemRPDetId.h.
Referenced by decToRawId(), init(), rawToDecId(), and romanPot().
|
static |
Definition at line 66 of file TotemRPDetId.h.
Referenced by decToRawId(), init(), rawToDecId(), and station().
|
static |
Definition at line 65 of file TotemRPDetId.h.
Referenced by init().
|
static |
Definition at line 68 of file TotemRPDetId.h.
Referenced by init().
|
static |
Definition at line 67 of file TotemRPDetId.h.
Referenced by init().
|
static |
Definition at line 66 of file TotemRPDetId.h.
Referenced by init().
|
static |
Definition at line 65 of file TotemRPDetId.h.
Referenced by arm(), decToRawId(), init(), and rawToDecId().
|
static |
Definition at line 68 of file TotemRPDetId.h.
Referenced by decToRawId(), detector(), init(), and rawToDecId().
|
static |
Definition at line 67 of file TotemRPDetId.h.
Referenced by decToRawId(), init(), rawToDecId(), and romanPot().
|
static |
Definition at line 66 of file TotemRPDetId.h.
Referenced by decToRawId(), init(), rawToDecId(), and station().
|
static |
Definition at line 63 of file TotemRPDetId.h.
Referenced by check(), and decToRawId().