ATLAS Offline Software
Loading...
Searching...
No Matches
LArStrHelper.cxx
Go to the documentation of this file.
1
2/*
3 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
4*/
5
7
8
9
10
11std::string LArStrHelper::febNameString(bool isBarrel,int pos_neg ,int feedthrough,int slot) const {
12 std::string eb=isBarrel ? "Barrel" : "Endcap";
13 std::string ac=(pos_neg==1) ? "A" : "C";
14 return eb+ac+Form("ft%02d",feedthrough)+Form("slot%02d",slot);
15}
16
17
19std::string LArStrHelper::fixFEBname(TString nm) const {
20 TString res=nm;
21 res.ToLower();
22 res.ReplaceAll("barrela","BarrelA");
23 res.ReplaceAll("barrelc","BarrelC");
24 res.ReplaceAll("endcapa","EndcapA");
25 res.ReplaceAll("endcapc","EndcapC");
26 res.ReplaceAll("endcapa","EndcapA");
27 //check for single digit slots of feedthrough and try to correct them
28 int pos = res.Index("ft")+2;
29 TString num=res(pos,2);
30 if(!num.IsDec()) {
31 num=num(0,1);
32 if(num.IsDec()) res.Replace(pos,1,"0"+num,2);
33 }
34 pos = res.Index("slot")+4;
35 num = res(pos,2);
36 if(num.Length()<2) {
37 if(num.IsDec()) res.Replace(pos,1,"0"+num,2);
38 }
39 return (std::string)res;
40}
std::pair< std::vector< unsigned int >, bool > res
std::string febNameString(bool, int, int, int) const
FEB names.
std::string fixFEBname(TString) const
fix custom strings to avoid errors due to uppr-lower cases