23 int startIndex = fString.find_first_not_of(
" \t\n");
24 int endIndex = fString.find_last_not_of(
" \t\n");
25 return fString.substr(startIndex, (endIndex - startIndex) + 1);
29 return fName ==
"Mixer-High" ? 1
30 : fName ==
"Mixer-Low" ? 2
31 : fName ==
"Megatile" ? 3
32 : fName ==
"Mixer-Scintillator" ? 4
33 : fName ==
"RadDam1" ? 5
34 : fName ==
"RadDam2" ? 6
35 : fName ==
"RadDam3" ? 7
36 : atoi(fName.c_str());
45 if (!
init(fFlavor, fField1, fField2, fField3)) {
46 std::cerr <<
"HcalText2DetIdConverter::HcalText2DetIdConverter-> Can not initiate detId from items: " << fFlavor
47 <<
'/' << fField1 <<
'/' << fField2 <<
'/' << fField3 << std::endl;
49 <<
" Can not initiate detId from items: " << fFlavor <<
'/' << fField1 <<
'/' << fField2 <<
'/' << fField3
180 std::cerr <<
"HcalText2DetIdConverter::init-> Unknown detId: " << std::hex << std::showbase <<
mId.
rawId()
237 if (
flavorName.find(
"HB") != std::string::npos)
239 else if (
flavorName.find(
"HE") != std::string::npos)
241 else if (
flavorName.find(
"HO") != std::string::npos)
243 else if (
flavorName.find(
"HF") != std::string::npos)
248 int channel = calibChannel(
field3);
272 std::cerr <<
"HcalText2DetIdConverter::init-> Unknown HcalDetId flavor: " <<
flavorName << std::endl;
280 const char* nptr = i == 1 ?
field1.c_str() : i == 2 ?
field2.c_str() :
field3.c_str();
281 long result = strtol(nptr, &endptr, 0);
282 if (*nptr !=
'\0' && *endptr ==
'\0') {
286 int result = calibChannel(
field2);
291 std::cerr <<
"HcalText2DetIdConverter::getField-> Can not convert string " << nptr
292 <<
" to int. Bad symbol: " << *endptr << std::endl;
299 sprintf(buffer,
"%d", fValue);
static const HcalDetId Undefined
int rm() const
get the rm (where relevant)
bool isHcalZDCDetId() const
int fiber() const
get the fiber (where relevant)
CalibDetType calibFlavor() const
get the flavor of this calibration detid
int zside() const
get the z-side of the cell (1/-1)
std::string toString() const
constexpr uint32_t rawId() const
get the raw id
int ieta() const
get the tower ieta
int depth() const
get the depth (zero for LHC Run 1, may be nonzero for later runs)
bool isHcalZDCDetId() const
bool isHcalTrigTowerDetId() const
bool isHcalTrigTowerDetId() const
constexpr int iphi() const
get the cell iphi
void setField(int i, int fValue)
HcalText2DetIdConverter(const std::string &fFlavor="NA", const std::string &fField1="0", const std::string &fField2="0", const std::string &fField3="0")
constexpr int ieta() const
get the cell ieta
int iphi() const
get the low-edge iphi (if relevant)
bool init(const std::string &fFlavor, const std::string &fField1, const std::string &fField2, const std::string &fField3)
int version() const
get the version code for the trigger tower
bool isHcalCalibDetId() const
int channel() const
get the channel
static const HcalTrigTowerDetId Undefined
Section section() const
get the section
int cboxChannel() const
get the calibration box channel (if relevant)
bool isHcalCalibDetId() const
HcalSubdetector hcalSubdet() const
get the HcalSubdetector (if relevant)
constexpr int depth() const
get the tower depth
HcalGenericSubdetector genericSubdet() const
int channel() const
get the channel (for uMNio/qie or similar)
int iphi() const
get the tower iphi
int getField(int i) const