ATLAS Offline Software
Public Member Functions | List of all members
LArStrHelper Class Reference

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

#include <LArStrHelper.h>

Collaboration diagram for LArStrHelper:

Public Member Functions

 LArStrHelper ()
 constructructor More...
 
 ~LArStrHelper ()
 default destructor More...
 
std::string febNameString (bool, int, int, int) const
 FEB names. More...
 
std::string fixFEBname (TString) const
 fix custom strings to avoid errors due to uppr-lower cases More...
 

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 }

The documentation for this class was generated from the following files:
res
std::pair< std::vector< unsigned int >, bool > res
Definition: JetGroupProductTest.cxx:14
trigbs_pickEvents.num
num
Definition: trigbs_pickEvents.py:76
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
CalibCoolCompareRT.nm
nm
Definition: CalibCoolCompareRT.py:110
python.LArCondContChannels.isBarrel
isBarrel
Definition: LArCondContChannels.py:659