ATLAS Offline Software
Loading...
Searching...
No Matches
LArStrHelper Class Reference

Helper class to manipulate strings for LArOnlineID names. More...

#include <LArStrHelper.h>

Collaboration diagram for LArStrHelper:

Public Member Functions

 LArStrHelper ()
 constructructor
 ~LArStrHelper ()
 default destructor
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

Detailed Description

Helper class to manipulate strings for LArOnlineID names.

Author
Margherita Spalla margh.nosp@m.erit.nosp@m.a.spa.nosp@m.lla@.nosp@m.cern..nosp@m.ch
Date
30-September-2020

Helper class to manipulate strings for LArOnlineID names: Since most of the naming is done at python level in AthenaMT, we only add strictly needed functions. For now, it just contains the FEB naming scheme used by LArNoiseCorrelations.

Definition at line 23 of file LArStrHelper.h.

Constructor & Destructor Documentation

◆ LArStrHelper()

LArStrHelper::LArStrHelper ( )
inline

constructructor

Definition at line 28 of file LArStrHelper.h.

28{};

◆ ~LArStrHelper()

LArStrHelper::~LArStrHelper ( )
inline

default destructor

Definition at line 31 of file LArStrHelper.h.

31{};

Member Function Documentation

◆ febNameString()

std::string LArStrHelper::febNameString ( bool isBarrel,
int pos_neg,
int feedthrough,
int slot ) const

FEB names.

Definition at line 11 of file LArStrHelper.cxx.

11 {
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}

◆ fixFEBname()

std::string LArStrHelper::fixFEBname ( TString nm) const

fix custom strings to avoid errors due to uppr-lower cases

Definition at line 19 of file LArStrHelper.cxx.

19 {
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

The documentation for this class was generated from the following files: