ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
sTGCDetectorHelper Class Reference

#include <sTGCDetectorHelper.h>

Collaboration diagram for sTGCDetectorHelper:

Public Member Functions

 sTGCDetectorHelper ()
 
sTGCIterator sTGC_begin ()
 
sTGCIterator sTGC_end ()
 
sTGCDetectorDescriptionGet_sTGCDetector (char type, int ieta, int iphi, int layer=1, char side='A')
 
sTGCDetectorDescriptionGet_sTGCDetectorType (const std::string &type)
 
sTGCDetectorDescriptionGet_sTGCDetectorSubType (const std::string &type)
 
sTGCDetectorDescriptionGet_sTGCDetectorType (std::string_view type)
 
sTGCDetectorDescriptionGet_sTGCDetectorSubType (std::string_view type)
 
AGDDPositionedDetector Get_sTGCPositionedDetector (char type, int ieta, int iphi, int layer=1, char side='A')
 
IAGDDtoGeoSvc::LockedController Get_Controller ()
 

Private Attributes

sTGCMap m_sTGCList
 
sTGCMapSubType m_sTGCListSubType
 
ServiceHandle< IAGDDtoGeoSvcm_svc {"AGDDtoGeoSvc", "MMDetectorHelper"}
 

Detailed Description

Definition at line 24 of file sTGCDetectorHelper.h.

Constructor & Destructor Documentation

◆ sTGCDetectorHelper()

sTGCDetectorHelper::sTGCDetectorHelper ( )

Definition at line 16 of file sTGCDetectorHelper.cxx.

17 {
18  if (m_svc.retrieve().isFailure()) {
19  std::abort();
20  }
21  IAGDDtoGeoSvc::LockedController c = m_svc->getController();
22  detectorList vl= c->GetDetectorStore().GetDetectorList();
23 
24  for ( const auto& vl_iter: vl)
25  {
26  sTGCDetectorDescription* st=dynamic_cast<sTGCDetectorDescription*>(vl_iter.second);
27  if (st) {
28  m_sTGCList[vl_iter.first]=st;
29  m_sTGCListSubType[vl_iter.second->subType()]=st;
30  }
31  }
32 
33 }

Member Function Documentation

◆ Get_Controller()

IAGDDtoGeoSvc::LockedController sTGCDetectorHelper::Get_Controller ( )

Definition at line 135 of file sTGCDetectorHelper.cxx.

136 {
137  return m_svc->getController();
138 }

◆ Get_sTGCDetector()

sTGCDetectorDescription * sTGCDetectorHelper::Get_sTGCDetector ( char  type,
int  ieta,
int  iphi,
int  layer = 1,
char  side = 'A' 
)

Definition at line 35 of file sTGCDetectorHelper.cxx.

36 {
37  sTGCDetectorDescription* tgc=nullptr;
38 
39  IAGDDtoGeoSvc::LockedController c = m_svc->getController();
40  AGDDPositionerStore& ps = c->GetPositionerStore();
41  for (unsigned int i=0;i<ps.size();i++)
42  {
44  if (dp)
45  {
46  if (dp->ID.detectorType != "sTGC") continue;
47  std::string_view dad=dp->ID.detectorAddress;
48 
49  char dtype=dad[3];
50  char dctype='L';
51  if (dtype=='3') dctype='S';
52  if (dctype!=type) continue;
53  int deta=myatoi(dad.substr(5,1));
54  if (deta!=ieta) continue;
55  int dphi=myatoi(dad.substr(12,1));
56  if (dphi!=iphi) continue;
57  int dlayer=myatoi(dad.substr(7,1));
58  if (dlayer!=layer) continue;
59  char dside=dad[13];
60  if (dside!=side) continue;
61 
62  tgc=dynamic_cast<sTGCDetectorDescription*>(dp->theDetector);
63  }
64  if(tgc) break;
65  }
66  if (!tgc) std::cout<<" could not find a positioned sTGC!!!! "<<std::endl;
67  return tgc;
68 }

◆ Get_sTGCDetectorSubType() [1/2]

sTGCDetectorDescription * sTGCDetectorHelper::Get_sTGCDetectorSubType ( const std::string &  type)

Definition at line 113 of file sTGCDetectorHelper.cxx.

114 {
115  if (auto itr = m_sTGCListSubType.find(type); itr != m_sTGCListSubType.end()) return itr->second;
116  return nullptr;
117 }

◆ Get_sTGCDetectorSubType() [2/2]

sTGCDetectorDescription * sTGCDetectorHelper::Get_sTGCDetectorSubType ( std::string_view  type)

Definition at line 127 of file sTGCDetectorHelper.cxx.

128 {
129  for(const auto &pair : m_sTGCListSubType){
130  if(pair.first == type) return pair.second;
131  }
132  return nullptr;
133 }

◆ Get_sTGCDetectorType() [1/2]

sTGCDetectorDescription * sTGCDetectorHelper::Get_sTGCDetectorType ( const std::string &  type)

Definition at line 107 of file sTGCDetectorHelper.cxx.

108 {
109  if (auto itr = m_sTGCList.find(type); itr != m_sTGCList.end()) return itr->second;
110  return nullptr;
111 }

◆ Get_sTGCDetectorType() [2/2]

sTGCDetectorDescription * sTGCDetectorHelper::Get_sTGCDetectorType ( std::string_view  type)

Definition at line 119 of file sTGCDetectorHelper.cxx.

120 {
121  for(const auto &pair : m_sTGCList){
122  if(pair.first == type) return pair.second;
123  }
124  return nullptr;
125 }

◆ Get_sTGCPositionedDetector()

AGDDPositionedDetector sTGCDetectorHelper::Get_sTGCPositionedDetector ( char  type,
int  ieta,
int  iphi,
int  layer = 1,
char  side = 'A' 
)

Definition at line 70 of file sTGCDetectorHelper.cxx.

71 {
72  sTGCDetectorDescription* tgc=nullptr;
73  AGDDDetectorPositioner* dp=nullptr;
74 
75  IAGDDtoGeoSvc::LockedController c = m_svc->getController();
76  AGDDPositionerStore& ps = c->GetPositionerStore();
77  for (unsigned int i=0;i<ps.size();i++)
78  {
79  dp=dynamic_cast<AGDDDetectorPositioner*>(ps[i]);
80  if (dp)
81  {
82  if (dp->ID.detectorType != "sTGC") continue;
83  std::string_view dad=dp->ID.detectorAddress;
84 
85  char dtype=dad[3];
86  char dctype='L';
87  if (dtype=='3') dctype='S';
88  if (dctype!=type) continue;
89  int deta=myatoi(dad.substr(5,1));
90  if (deta!=ieta) continue;
91  int dphi=myatoi(dad.substr(12,1));
92  if (dphi!=iphi) continue;
93  int dlayer=myatoi(dad.substr(7,1));
94  if (dlayer!=layer) continue;
95  char dside=dad[13];
96  if (dside!=side) continue;
97 
98  tgc=dynamic_cast<sTGCDetectorDescription*>(dp->theDetector);
99  }
100  if(tgc) break;
101  }
102  if (!tgc) std::cout<<" could not find a positioned sTGC!!!! "<<std::endl;
103  AGDDPositionedDetector p_sTGC(tgc,dp);
104  return p_sTGC;
105 }

◆ sTGC_begin()

sTGCIterator sTGCDetectorHelper::sTGC_begin ( )
inline

Definition at line 27 of file sTGCDetectorHelper.h.

27 {return m_sTGCList.begin();}

◆ sTGC_end()

sTGCIterator sTGCDetectorHelper::sTGC_end ( )
inline

Definition at line 28 of file sTGCDetectorHelper.h.

28 {return m_sTGCList.end();}

Member Data Documentation

◆ m_sTGCList

sTGCMap sTGCDetectorHelper::m_sTGCList
private

Definition at line 40 of file sTGCDetectorHelper.h.

◆ m_sTGCListSubType

sTGCMapSubType sTGCDetectorHelper::m_sTGCListSubType
private

Definition at line 41 of file sTGCDetectorHelper.h.

◆ m_svc

ServiceHandle<IAGDDtoGeoSvc> sTGCDetectorHelper::m_svc {"AGDDtoGeoSvc", "MMDetectorHelper"}
private

Definition at line 42 of file sTGCDetectorHelper.h.


The documentation for this class was generated from the following files:
TileDCSDataPlotter.dp
dp
Definition: TileDCSDataPlotter.py:840
CxxUtils::LockedPointer
A pointer together with a movable lock.
Definition: LockedPointer.h:35
PlotCalibFromCool.dtype
dtype
Definition: PlotCalibFromCool.py:495
sTGCDetectorHelper::m_sTGCListSubType
sTGCMapSubType m_sTGCListSubType
Definition: sTGCDetectorHelper.h:41
AGDDDetectorPositioner
Definition: AGDDDetectorPositioner.h:39
detectorList
std::map< std::string, AGDDDetector * > detectorList
Definition: AGDDDetectorStore.h:9
sTGCDetectorHelper::m_svc
ServiceHandle< IAGDDtoGeoSvc > m_svc
Definition: sTGCDetectorHelper.h:42
sTGCDetectorDescription
Definition: sTGCDetectorDescription.h:51
TRT::Hit::side
@ side
Definition: HitInfo.h:83
myatoi
int myatoi(std::string_view str)
Definition: MMDetectorHelper.cxx:34
lumiFormat.i
int i
Definition: lumiFormat.py:92
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
AGDDPositionerStore
Definition: AGDDPositionerStore.h:14
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
sTGCDetectorHelper::m_sTGCList
sTGCMap m_sTGCList
Definition: sTGCDetectorHelper.h:40
python.compressB64.c
def c
Definition: compressB64.py:93
AGDDPositionedDetector
std::pair< MMDetectorDescription *, AGDDDetectorPositioner * > AGDDPositionedDetector
Definition: MMDetectorHelper.h:22