 |
ATLAS Offline Software
|
Go to the documentation of this file.
25 std::ostringstream ostigg;
26 for (
int j = ncha - 1; j >= 0; j--) {
35 std::string_view
s(
str.substr(istart,
length));
37 std::from_chars(
s.data(),
s.data() +
s.size(),
result);
43 std::string_view stName3 =
stName.substr(0, 3);
46 int zi = std::abs(zi_input);
49 if (stName3 ==
"T4E") {
51 case 0: stphi = zi;
break;
52 case 1: stphi = zi + 3;
break;
53 case 2: stphi = zi + 6;
break;
57 case 4: stphi = zi + 11;
break;
58 case 5: stphi = zi + 14;
break;
59 case 6: stphi = zi + 16;
break;
60 case 7: stphi = zi + 19;
break;
65 if (stphi < 1) stphi = stphi + 21;
68 if (
stName[2] ==
'E') nch = 6;
69 int fioff = std::abs(zi);
70 if (fioff > 3 &&
stName[2] ==
'F') fioff = fioff - 3;
76 stphi = fi * nch + fioff;
88 const int nch = 3*(
stName[2] ==
'E' ? 2 : 1);
90 if (fioff > 3 &&
stName[2] ==
'F') fioff -= 3;
91 if (
stName[2] ==
'F') fioff -=1;
93 int amdbPhi = ( (
phiIndex - fioff) / nch + 1 ) % 8;
94 if (amdbPhi <= 0) amdbPhi = 8;
Ensure that the Athena extensions are properly loaded.
const std::string & stName(StIndex index)
convert StIndex into a string
std::string to_string(const DetectorType &type)
int amdbPhiTGC(std::string_view stName, int phiIndex, int eta_index)
Converts the Identifier phi index to the AMDB phi index.
int strtoint(std::string_view str, unsigned int istart, unsigned int length)
unsigned int phiIndex(float phi, float binsize)
calculate phi index for a given phi
int stationPhiTGC(std::string_view stName, int fi, int zi_input)
Converts the AMDB phi index to the Identifier phi Index.
std::string buildString(int i, int ncha)
constexpr int pow(int base, int exp) noexcept