ATLAS Offline Software
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
LArRecoSimpleGeomTool Class Reference

This class implements the CaloDetDescr/ICaloRecoSimpleGeomTool and provides the simplified geometry needed for the LAr part of the Calorimeter/CaloTrackingGeometry volumes. More...

#include <LArRecoSimpleGeomTool.h>

Inheritance diagram for LArRecoSimpleGeomTool:
Collaboration diagram for LArRecoSimpleGeomTool:

Public Member Functions

 LArRecoSimpleGeomTool (const std::string &type, const std::string &name, const IInterface *parent)
 
virtual ~LArRecoSimpleGeomTool ()
 
virtual StatusCode initialize () override
 
virtual StatusCode finalize () override
 
virtual bool get_cylinder_surface (CaloSubdetNames::ALIGNVOL alvol, Amg::Transform3D &htrans, double &hphi, std::vector< double > &radius, std::vector< double > &depth, std::vector< double > &hlength) const override
 the enum ALIGNVOL covers all LAr pieces, including cryostats and coil More...
 
virtual bool get_disk_surface (CaloSubdetNames::ALIGNVOL alvol, Amg::Transform3D &htrans, double &hphi, std::vector< double > &z, std::vector< double > &depth, std::vector< double > &rmin, std::vector< double > &rmax) const override
 the enum ALIGNVOL covers all LAr pieces, including cryostats and coil More...
 
virtual void print () const override
 method for printout More...
 
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & evtStore () const
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. More...
 
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm. More...
 
virtual StatusCode sysStart () override
 Handle START transition. More...
 
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles. More...
 
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles. More...
 
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T > &t)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc="none")
 Declare a new Gaudi property. More...
 
void updateVHKA (Gaudi::Details::PropertyBase &)
 
MsgStream & msg () const
 
MsgStream & msg (const MSG::Level lvl) const
 
bool msgLvl (const MSG::Level lvl) const
 

Static Public Member Functions

static const InterfaceID & interfaceID ()
 

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution More...
 
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
 
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed. More...
 

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

bool ScanBarrelCryo (CaloSubdetNames::ALIGNVOL alvol, Amg::Transform3D &htrans, double &hphi, std::vector< double > &radius, std::vector< double > &depth, std::vector< double > &hlength)
 
bool ScanEMB (CaloSubdetNames::ALIGNVOL alvol, Amg::Transform3D &htrans, double &hphi, std::vector< double > &radius, std::vector< double > &depth, std::vector< double > &hlength)
 
std::string map_av (CaloSubdetNames::ALIGNVOL alvol) const
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

const CaloCell_IDm_calo_id = nullptr
 
CaloPhiRange m_phi_range
 
std::string m_geometry
 
IRDBAccessSvcm_iAccessSvc = nullptr
 
const IGeoModelSvcm_geoModelSvc = nullptr
 
IRDBRecordset_ptr m_recCryoCyl
 
IRDBRecordset_ptr m_recPresGeo
 
IRDBRecordset_ptr m_recBarrGeo
 
IRDBRecordset_ptr m_recPresPos
 
IRDBRecordset_ptr m_EmecGeo
 
IRDBRecordset_ptr m_HEC
 
std::string m_tag
 
std::string m_node
 
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default) More...
 
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default) More...
 
std::vector< SG::VarHandleKeyArray * > m_vhka
 
bool m_varHandleArraysDeclared
 

Detailed Description

This class implements the CaloDetDescr/ICaloRecoSimpleGeomTool and provides the simplified geometry needed for the LAr part of the Calorimeter/CaloTrackingGeometry volumes.

Definition at line 33 of file LArRecoSimpleGeomTool.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< AlgTool > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ LArRecoSimpleGeomTool()

LArRecoSimpleGeomTool::LArRecoSimpleGeomTool ( const std::string &  type,
const std::string &  name,
const IInterface *  parent 
)

Definition at line 40 of file LArRecoSimpleGeomTool.cxx.

42  :
44 {
45  declareInterface<LArRecoSimpleGeomTool>( this );
46 }

◆ ~LArRecoSimpleGeomTool()

LArRecoSimpleGeomTool::~LArRecoSimpleGeomTool ( )
virtual

Definition at line 117 of file LArRecoSimpleGeomTool.cxx.

118 {
119 }

Member Function Documentation

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyArrayType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKeyArray>

Definition at line 170 of file AthCommonDataStore.h.

172  {
173  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
174  hndl.value(),
175  hndl.documentation());
176 
177  }

◆ declareGaudiProperty() [2/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleBase>

Definition at line 184 of file AthCommonDataStore.h.

186  {
187  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
188  hndl.value(),
189  hndl.documentation());
190  }

◆ declareGaudiProperty() [4/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  t,
const SG::NotHandleType  
)
inlineprivateinherited

specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>

Definition at line 199 of file AthCommonDataStore.h.

200  {
201  return PBASE::declareProperty(t);
202  }

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleBase hndl,
const std::string &  doc,
const SG::VarHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleBase. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 245 of file AthCommonDataStore.h.

249  {
250  this->declare(hndl.vhKey());
251  hndl.vhKey().setOwner(this);
252 
253  return PBASE::declareProperty(name,hndl,doc);
254  }

◆ declareProperty() [2/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKey hndl,
const std::string &  doc,
const SG::VarHandleKeyType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleKey. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 221 of file AthCommonDataStore.h.

225  {
226  this->declare(hndl);
227  hndl.setOwner(this);
228 
229  return PBASE::declareProperty(name,hndl,doc);
230  }

◆ declareProperty() [3/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKeyArray hndArr,
const std::string &  doc,
const SG::VarHandleKeyArrayType  
)
inlineinherited

Definition at line 259 of file AthCommonDataStore.h.

263  {
264 
265  // std::ostringstream ost;
266  // ost << Algorithm::name() << " VHKA declareProp: " << name
267  // << " size: " << hndArr.keys().size()
268  // << " mode: " << hndArr.mode()
269  // << " vhka size: " << m_vhka.size()
270  // << "\n";
271  // debug() << ost.str() << endmsg;
272 
273  hndArr.setOwner(this);
274  m_vhka.push_back(&hndArr);
275 
276  Gaudi::Details::PropertyBase* p = PBASE::declareProperty(name, hndArr, doc);
277  if (p != 0) {
278  p->declareUpdateHandler(&AthCommonDataStore<PBASE>::updateVHKA, this);
279  } else {
280  ATH_MSG_ERROR("unable to call declareProperty on VarHandleKeyArray "
281  << name);
282  }
283 
284  return p;
285 
286  }

◆ declareProperty() [4/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc,
const SG::NotHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This is the generic version, for types that do not derive from SG::VarHandleKey. It just forwards to the base class version of declareProperty.

Definition at line 333 of file AthCommonDataStore.h.

337  {
338  return PBASE::declareProperty(name, property, doc);
339  }

◆ declareProperty() [5/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This dispatches to either the generic declareProperty or the one for VarHandle/Key/KeyArray.

Definition at line 352 of file AthCommonDataStore.h.

355  {
356  typedef typename SG::HandleClassifier<T>::type htype;
357  return declareProperty (name, property, doc, htype());
358  }

◆ declareProperty() [6/6]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T > &  t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145  {
146  typedef typename SG::HandleClassifier<T>::type htype;
148  }

◆ detStore()

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

95 { return m_detStore; }

◆ evtStore() [1/2]

ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

85 { return m_evtStore; }

◆ evtStore() [2/2]

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( ) const
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase &  ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ finalize()

StatusCode LArRecoSimpleGeomTool::finalize ( )
overridevirtual

Definition at line 122 of file LArRecoSimpleGeomTool.cxx.

123 {
124  return StatusCode::SUCCESS;
125 }

◆ get_cylinder_surface()

bool LArRecoSimpleGeomTool::get_cylinder_surface ( CaloSubdetNames::ALIGNVOL  alvol,
Amg::Transform3D htrans,
double &  hphi,
std::vector< double > &  radius,
std::vector< double > &  depth,
std::vector< double > &  hlength 
) const
overridevirtual

the enum ALIGNVOL covers all LAr pieces, including cryostats and coil

Implements ICaloRecoSimpleGeomTool.

Definition at line 128 of file LArRecoSimpleGeomTool.cxx.

133 {
134 
135  double rad,dep,len;
136  //double nb;
137 
138  StoredPhysVol* storedPV = nullptr;
139  std::string key = map_av(alvol);
140  if(detStore()->contains<StoredPhysVol>(key))
141  {
142  if(detStore()->retrieve(storedPV,key)==StatusCode::FAILURE)
143  {
144  return false;
145  }
146  }
147 
148  if (!storedPV) {
149  return false;
150  }
151 
152  GeoFullPhysVol* fullPV = storedPV->getPhysVol();
153  htrans = fullPV->getAbsoluteTransform()*fullPV->getDefAbsoluteTransform().inverse();
154 
155  hphi = m_phi_range.twopi();
156 
157  radius.clear();
158  depth.clear();
159  hlength.clear();
160 
161  if ( alvol == CaloSubdetNames::SOLENOID ) {
162 
163  // DDDb : LAr / CryoCylinders / CryoMother nb 11 & 12 & 13
165  if (lar->size()<14) return false;
166 
167  const IRDBRecord* rec = (*lar)[11];
168  rad = rec->getDouble("RMIN")*Gaudi::Units::cm;
169  len = rec->getDouble("DZ")*Gaudi::Units::cm /2.;
170  dep = rec->getDouble("DR")*Gaudi::Units::cm;
171  rec = (*lar)[12];
172  dep = dep +rec->getDouble("DR")*Gaudi::Units::cm;
173  rec = (*lar)[13];
174  dep = dep +rec->getDouble("DR")*Gaudi::Units::cm;
175 
176  //rad = 124.18*Gaudi::Units::cm;
177  //dep = (.305 + 1.38 + .47 )*Gaudi::Units::cm;
178  //len = 270.*Gaudi::Units::cm;
179 
180  radius.push_back( rad + dep/2.);
181  depth.push_back( dep/2. );
182  hlength.push_back( len );
183 
184  return true;
185  }
186  else if ( alvol == CaloSubdetNames::LARCRYO_B ) {
187 
188  // DDDb : LAr / CryoCylinders
189 
191  if (lar->size()<15) return false;
192 
193  // CryoMother nb 10
194  const IRDBRecord* rec = (*lar)[10];
195  rad = rec->getDouble("RMIN")*Gaudi::Units::cm;
196  len = rec->getDouble("DZ")*Gaudi::Units::cm /2.;
197  dep = rec->getDouble("DR")*Gaudi::Units::cm;
198 
199  //rad = 122.9*Gaudi::Units::cm;
200  //dep = 1.28*Gaudi::Units::cm;
201  //len = 270.*Gaudi::Units::cm;
202 
203  radius.push_back( rad + dep/2. );
204  depth.push_back( dep /2.);
205  hlength.push_back( len );
206 
207  // CryoMother nb 14
208  rec = (*lar)[14];
209  rad = rec->getDouble("RMIN")*Gaudi::Units::cm;
210  len = rec->getDouble("DZ")*Gaudi::Units::cm /2.;
211  dep = rec->getDouble("DR")*Gaudi::Units::cm;
212 
213  //rad = 126.335*Gaudi::Units::cm;
214  //dep = 1.2*Gaudi::Units::cm;
215  //len = 284.*Gaudi::Units::cm;
216 
217  radius.push_back( rad + dep/2.);
218  depth.push_back( dep /2.);
219  hlength.push_back( len );
220 
221  // CryoMother nb 0
222  rec = (*lar)[0];
223  rad = rec->getDouble("RMIN")*Gaudi::Units::cm;
224  len = rec->getDouble("DZ")*Gaudi::Units::cm /2.;
225  dep = rec->getDouble("DR")*Gaudi::Units::cm;
226 
227  //rad = 2140*mm;
228  //dep = 30*mm;
229  //len = 299.6*Gaudi::Units::cm;
230 
231  radius.push_back( rad + dep/2. );
232  depth.push_back( dep /2.);
233  hlength.push_back( len );
234 
235  // CryoMother nb 5
236  rec = (*lar)[5];
237  rad = rec->getDouble("RMIN")*Gaudi::Units::cm;
238  len = rec->getDouble("DZ")*Gaudi::Units::cm /2.;
239  dep = rec->getDouble("DR")*Gaudi::Units::cm;
240 
241  //rad = 2220*mm;
242  //dep = 30*mm;
243  //len = 285*Gaudi::Units::cm;
244 
245  radius.push_back( rad + dep/2. );
246  depth.push_back( dep /2.);
247  hlength.push_back( len );
248 
249  return true;
250  }
251  else if ( alvol == CaloSubdetNames::PRESAMPLER_B_POS ||
253 
254  // DDDb : LAr / PresamplerGeometry / rmin, rmax
255  // LAr / BarrelGeometry / zmax
257  if (lar->size()==0) return false;
258 
259  const IRDBRecord* rec = (*lar)[0];
260  rad = rec->getDouble("RMIN")*Gaudi::Units::cm;
261  dep = rec->getDouble("RMAX")*Gaudi::Units::cm - rad;
262 
263  lar = m_recBarrGeo;
264  if ( !lar || lar->size()==0) return false;
265 
266  rec = (*lar)[0];
267  len = rec->getDouble("ZMAX")*Gaudi::Units::cm;
268 
269  //rad = 138.5*Gaudi::Units::cm;
270  //dep = (144.7 - 138.5)*Gaudi::Units::cm;
271  //len = 316.5*Gaudi::Units::cm;
272 
273  radius.push_back( rad + dep/2.);
274  depth.push_back( dep /2.);
275  hlength.push_back( len );
276 
277  return true;
278 
279  }
280  else if ( alvol == CaloSubdetNames::EMB_POS || alvol == CaloSubdetNames::EMB_NEG ) {
281 
282  // DDDb : LAr / BarrelGeometry / rmin, rmax, zmax
283 
285  if (lar->size()==0) return false;
286 
287  const IRDBRecord* rec = (*lar)[0];
288  rad = rec->getDouble("RMIN")*Gaudi::Units::cm;
289  dep = rec->getDouble("RMAX")*Gaudi::Units::cm - rad;
290  len = rec->getDouble("ZMAX")*Gaudi::Units::cm;
291 
292  //rad = 1447.3*Gaudi::Units::cm;
293  //dep = (2003.35 - 1447.3)*Gaudi::Units::cm;
294  //len = 316.5*Gaudi::Units::cm;
295 
296  radius.push_back( rad + dep/2.);
297  depth.push_back( dep /2.);
298  hlength.push_back( len );
299 
300  return true;
301  }
302 
303  return false;
304 }

◆ get_disk_surface()

bool LArRecoSimpleGeomTool::get_disk_surface ( CaloSubdetNames::ALIGNVOL  alvol,
Amg::Transform3D htrans,
double &  hphi,
std::vector< double > &  z,
std::vector< double > &  depth,
std::vector< double > &  rmin,
std::vector< double > &  rmax 
) const
overridevirtual

the enum ALIGNVOL covers all LAr pieces, including cryostats and coil

Implements ICaloRecoSimpleGeomTool.

Definition at line 307 of file LArRecoSimpleGeomTool.cxx.

312 {
313 
314  // Tracking geometry convention : z is the center of the layer, it is signed
315  // and "depth" is actually the half depth
316  StoredPhysVol* storedPV = nullptr;
317  std::string key = map_av(alvol);
318  if(detStore()->contains<StoredPhysVol>(key))
319  {
320  if(detStore()->retrieve(storedPV,key)==StatusCode::FAILURE)
321  {
322  return false;
323  }
324  }
325 
326  if (!storedPV) {
327  return false;
328  }
329 
330  GeoFullPhysVol* fullPV = storedPV->getPhysVol();
331  htrans = fullPV->getAbsoluteTransform()*fullPV->getDefAbsoluteTransform().inverse();
332 
333  hphi = m_phi_range.twopi();
334  z.clear();
335  depth.clear();
336  rmin.clear();
337  rmax.clear();
338  double nb;
339  double ri,ra,dep,zcent;
340 
341  if ( alvol == CaloSubdetNames::LARCRYO_EC_POS ||
343 
344  // DDDb : LAr / CryoCylinders / Endcap nb 11
345 
347  if (lar->size()<60) return false;
348 
349  const IRDBRecord* rec = (*lar)[49];
350 
351  ri = rec->getDouble("RMIN")*Gaudi::Units::cm;
352  ra = ri + rec->getDouble("DR")*Gaudi::Units::cm;
353  dep = rec->getDouble("DZ")*Gaudi::Units::cm;
354  zcent = rec->getDouble("ZMIN")*Gaudi::Units::cm + dep/2.;
355  if (alvol == CaloSubdetNames::LARCRYO_EC_NEG) zcent = -1. * zcent;
356 
357  //ri = 22.1*Gaudi::Units::cm;
358  //ra = (22.1 + 194.4)*Gaudi::Units::cm;
359  //dep = 6.5*Gaudi::Units::cm;
360  //zcent = (356.1 + dep/2.)*Gaudi::Units::cm;
361 
362  rmin.push_back( ri );
363  rmax.push_back( ra );
364  depth.push_back( dep/2. );
365  z.push_back( zcent );
366 
367  // DDDb : LAr / CryoCylinders / Endcap nb 6
368  rec = (*lar)[44];
369 
370  ri = rec->getDouble("RMIN")*Gaudi::Units::cm;
371  ra = ri + rec->getDouble("DR")*Gaudi::Units::cm;
372  dep = rec->getDouble("DZ")*Gaudi::Units::cm;
373  zcent = rec->getDouble("ZMIN")*Gaudi::Units::cm + dep/2.;
374  if (alvol == CaloSubdetNames::LARCRYO_EC_NEG) zcent = -1. * zcent;
375 
376  //ri = 79.*Gaudi::Units::cm;
377  //ra = (ri + 173.)*Gaudi::Units::cm;
378  //dep = 6.*Gaudi::Units::cm;
379  //zcent = (660.5 + dep/2.)*Gaudi::Units::cm;
380 
381  rmin.push_back( ri );
382  rmax.push_back( ra );
383  depth.push_back( dep/2. );
384  z.push_back( zcent );
385 
386  return true;
387  }
388 
389  if ( alvol == CaloSubdetNames::PRESAMPLER_EC_POS ||
391 
392  // DDDb Cryostat / PresamplerPosition
394 
395  const IRDBRecord* rec = (*lar)[0];
396 
397  ri = rec->getDouble("RMIN")*Gaudi::Units::cm;
398  ra = rec->getDouble("RMAX")*Gaudi::Units::cm;
399  dep = rec->getDouble("TCK")*Gaudi::Units::cm;
400  zcent = rec->getDouble("ZPOS")*Gaudi::Units::cm + dep/2.;
401  if (alvol == CaloSubdetNames::PRESAMPLER_EC_NEG) zcent = -1. * zcent;
402 
403  //ri = 123.174*Gaudi::Units::cm;
404  //ra = 170.2*Gaudi::Units::cm;
405  //dep = 0.4*Gaudi::Units::cm;
406  //zcent = (362.4 + dep/2.)*Gaudi::Units::cm;
407 
408  rmin.push_back( ri );
409  rmax.push_back( ra );
410  depth.push_back( dep/2. );
411  z.push_back( zcent );
412 
413  return true;
414  }
415 
416  if ( alvol == CaloSubdetNames::EMEC_POS ||
417  alvol == CaloSubdetNames::EMEC_NEG ) {
418 
419  // handcoded copy of dddb : LAr / EmecGeometry / z1, etot, rmin, rmax
421 
422  const IRDBRecord* rec = (*lar)[0];
423 
424  ri = rec->getDouble("RMIN")*Gaudi::Units::cm;
425  ra = rec->getDouble("RMAX")*Gaudi::Units::cm;
426  dep = rec->getDouble("ETOT")*Gaudi::Units::cm;
427  zcent = rec->getDouble("Z1")*Gaudi::Units::cm + dep/2.;
428  if (alvol == CaloSubdetNames::EMEC_NEG) zcent = -1. * zcent;
429 
430  //ri = 29.*Gaudi::Units::cm;
431  //ra = 210.*Gaudi::Units::cm;
432  //dep = 53.6*Gaudi::Units::cm;
433  //zcent = (369.1 + dep/2.)*Gaudi::Units::cm;
434 
435  rmin.push_back( ri );
436  rmax.push_back( ra );
437  depth.push_back( dep/2. );
438  z.push_back( zcent );
439 
440  return true;
441  }
442 
443  if ( alvol == CaloSubdetNames::HEC1_POS || alvol == CaloSubdetNames::HEC1_NEG ) {
444 
445  // DDDb numbers : LAr / HadronicEndcap / zstart, roorig, rend
446  // + for depth, see LArNumberHelper
447  IRDBRecordset_ptr lar = m_HEC;
448  if (lar->size()==0) return false;
449 
450  const IRDBRecord* rec = (*lar)[0];
451 
452  ri = rec->getDouble("ROORIG")*Gaudi::Units::cm;
453  ra = rec->getDouble("REND")*Gaudi::Units::cm;
454  // Block0+Block1+Block2
455  dep = rec->getDouble("PLATE_0")/2.
456  + 3*8*(rec->getDouble("LARG") + rec->getDouble("PLATE_0"));
457  dep = dep*Gaudi::Units::cm;
458  zcent = rec->getDouble("ZSTART")*Gaudi::Units::cm + dep/2.;
459  if (alvol == CaloSubdetNames::HEC1_NEG) zcent = -1. * zcent;
460 
461  //ri = 37.2*Gaudi::Units::cm;
462  //ra = 213.0*Gaudi::Units::cm;
463  //dep = (513.4 - 4.05 - 427.7)*Gaudi::Units::cm;
464  //zcent = 427.7*Gaudi::Units::cm;
465 
466  rmin.push_back( ri );
467  rmax.push_back( ra );
468  depth.push_back( dep/2. );
469  z.push_back( zcent );
470 
471  return true;
472  }
473 
474  if ( alvol == CaloSubdetNames::HEC2_POS || alvol == CaloSubdetNames::HEC2_NEG ) {
475 
476  // DDDb numbers : LAr / HadronicEndcap / zstart, roorig, rend
477  // + for depth, see LArNumberHelper
478 
479  IRDBRecordset_ptr lar = m_HEC;
480  if (lar->size()==0) return false;
481 
482  const IRDBRecord* rec = (*lar)[0];
483 
484  ri = rec->getDouble("ROORIG")*Gaudi::Units::cm;
485  ra = rec->getDouble("REND")*Gaudi::Units::cm;
486  // Block 3 + Block 4 + Block 5 + Block 6
487  dep = rec->getDouble("PLATE_1")/2.
488  + 4*4*(rec->getDouble("LARG") + rec->getDouble("PLATE_1"));
489  dep = dep*Gaudi::Units::cm;
490  // start+depth of HEC1 + gap
491  zcent = rec->getDouble("ZSTART")
492  + rec->getDouble("PLATE_0")/2.
493  + 3*8*(rec->getDouble("LARG") + rec->getDouble("PLATE_0"))
494  + rec->getDouble("GAPWHL") ;
495  zcent = zcent*Gaudi::Units::cm + dep/2.;
496  if (alvol == CaloSubdetNames::HEC2_NEG) zcent = -1. * zcent;
497 
498  //ri = 37.2*Gaudi::Units::cm;
499  //ra = 213.0*Gaudi::Units::cm;
500  //dep = (609.5 - 513.4)*Gaudi::Units::cm;
501  //zcent = (513.4 + dep/2.)*Gaudi::Units::cm;
502 
503  rmin.push_back( ri );
504  rmax.push_back( ra );
505  depth.push_back( dep/2. );
506  z.push_back( zcent );
507 
508  return true;
509  }
510 
511  if ( alvol == CaloSubdetNames::FCAL1_POS || alvol == CaloSubdetNames::FCAL1_NEG ) {
512 
513  // see LArNumberHelper
514 
515  nb = 8.6*Gaudi::Units::cm;
516  rmin.push_back( nb );
517  nb = 47.5*Gaudi::Units::cm;
518  rmax.push_back( nb );
519 
520  nb = 45.*Gaudi::Units::cm;
521  depth.push_back( nb/2. );
522 
523  nb = (466.85 + nb/2. )*Gaudi::Units::cm;
524  if (alvol == CaloSubdetNames::FCAL1_NEG) nb = -1. * nb;
525  z.push_back( nb );
526 
527  return true;
528  }
529 
530  if ( alvol == CaloSubdetNames::FCAL2_POS || alvol == CaloSubdetNames::FCAL2_NEG ) {
531 
532  // see LArNumberHelper
533 
534  nb = 8.6*Gaudi::Units::cm;
535  rmin.push_back( nb );
536  nb = 47.5*Gaudi::Units::cm;
537  rmax.push_back( nb );
538 
539  nb = 45.*Gaudi::Units::cm;
540  depth.push_back( nb/2. );
541 
542  nb = (512.3 + nb/2. )*Gaudi::Units::cm;
543  if (alvol == CaloSubdetNames::FCAL2_NEG) nb = -1. * nb;
544  z.push_back( nb );
545 
546  return true;
547  }
548 
549  if ( alvol == CaloSubdetNames::FCAL3_POS || alvol == CaloSubdetNames::FCAL3_NEG ) {
550 
551  // see LArNumberHelper
552 
553  nb = 8.6*Gaudi::Units::cm;
554  rmin.push_back( nb );
555  nb = 47.5*Gaudi::Units::cm;
556  rmax.push_back( nb );
557 
558  nb = 45.*Gaudi::Units::cm;
559  depth.push_back( nb/2. );
560 
561  nb = (559.75 + nb/2. )*Gaudi::Units::cm;
562  if (alvol == CaloSubdetNames::FCAL3_NEG) nb = -1. * nb;
563  z.push_back( nb );
564 
565  return true;
566  }
567 
568 
569  return false;
570 }

◆ initialize()

StatusCode LArRecoSimpleGeomTool::initialize ( )
overridevirtual

Definition at line 49 of file LArRecoSimpleGeomTool.cxx.

50 {
51  // Retrieve the Id helpers needed
52  ATH_CHECK( detStore()->retrieve (m_calo_id, "CaloCell_ID") );
53 
54  // Decode tag ( via GeoModel ) and fix it for TestBeam :
55  m_tag = "ATLAS-00";
56  m_node = "ATLAS";
57  m_geoModelSvc = nullptr;
58 
59  StatusCode status = this->service("GeoModelSvc",m_geoModelSvc);
60  if (status.isFailure()) {
61  ATH_MSG_ERROR ("Unable to get pointer to GeoModel service");
62  return status;
63  }
64  else {
65  DecodeVersionKey detectorKey = DecodeVersionKey(m_geoModelSvc, "LAr");
66  ATH_MSG_INFO ("DecodeVersionKey found : " << detectorKey.tag()
67  << " " << detectorKey.tag());
68  if ( detectorKey.tag() != "LAr-H8-00" && detectorKey.tag() != "LAr-H6-00"
69  && detectorKey.tag() != "LAr-G3-00")
70  {
71  m_tag = detectorKey.tag();
72  m_node = detectorKey.node();
73  }
74  }
75  ATH_MSG_INFO ("LAr simplified geometry will use : " << m_tag << " " << m_node);
76 
77  // Acess the DB service :
78  status = this->service("RDBAccessSvc",m_iAccessSvc);
79  if (status.isFailure())
80  {
81  ATH_MSG_ERROR ("Unable to get RDBAccessSvc.");
82  return status;
83  }
84  else
85  ATH_MSG_INFO (" did access RDBAccessSvc ");
86 
88  if (m_recCryoCyl->size()==0)
89  m_recCryoCyl = m_iAccessSvc->getRecordsetPtr("CryoCylinders","CryoCylinders-00");
90 
91  m_recPresGeo = m_iAccessSvc->getRecordsetPtr("PresamplerGeometry",m_tag,m_node);
92  if (m_recPresGeo->size()==0)
93  m_recPresGeo = m_iAccessSvc->getRecordsetPtr("PresamplerGeometry","PresamplerGeometry-00");
94 
96  if (m_recBarrGeo->size()==0)
97  m_recBarrGeo = m_iAccessSvc->getRecordsetPtr("BarrelGeometry","BarrelGeometry-00");
98 
99  if ( m_geometry == "ATLAS" ) {
100  DecodeVersionKey detectorKeyAtl = DecodeVersionKey(m_geoModelSvc, "ATLAS");
101  m_recPresPos = m_iAccessSvc->getRecordsetPtr("PresamplerPosition",detectorKeyAtl.tag(),detectorKeyAtl.node());
102  }
103  else {
104  m_recPresPos = m_iAccessSvc->getRecordsetPtr("PresamplerPosition",m_tag,m_node);
105  }
106 
108 
109  m_HEC = m_iAccessSvc->getRecordsetPtr("HadronicEndcap",m_tag,m_node);
110  if (m_HEC->size()==0)
111  m_HEC = m_iAccessSvc->getRecordsetPtr("HadronicEndcap","HadronicEndcap-00");
112 
113  ATH_MSG_INFO (" LArRecoSimpleGeomTool successfully initialized ");
114  return StatusCode::SUCCESS;
115 }

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ interfaceID()

const InterfaceID & LArRecoSimpleGeomTool::interfaceID ( )
static

Definition at line 37 of file LArRecoSimpleGeomTool.cxx.

38 { return IID_LArRecoSimpleGeomTool; }

◆ map_av()

std::string LArRecoSimpleGeomTool::map_av ( CaloSubdetNames::ALIGNVOL  alvol) const
private

Definition at line 641 of file LArRecoSimpleGeomTool.cxx.

642 {
643  switch(alvol)
644  {
646  return std::string("LARCRYO_B");
648  return std::string("LARCRYO_EC_POS");
650  return std::string("LARCRYO_EC_NEG");
652  return std::string("SOLENOID");
654  return std::string("PRESAMPLER_B_POS");
656  return std::string("PRESAMPLER_B_NEG");
658  return std::string("EMB_POS");
660  return std::string("EMB_NEG");
662  return std::string("PRESAMPLER_EC_POS");
664  return std::string("PRESAMPLER_EC_NEG");
666  return std::string("EMEC_POS");
668  return std::string("EMEC_NEG");
670  return std::string("HEC1_POS");
672  return std::string("HEC1_NEG");
674  return std::string("HEC2_POS");
676  return std::string("HEC2_NEG");
678  return std::string("FCAL1_POS");
680  return std::string("FCAL1_NEG");
682  return std::string("FCAL2_POS");
684  return std::string("FCAL2_NEG");
686  return std::string("FCAL3_POS");
688  return std::string("FCAL3_NEG");
689  default:
690  return std::string("");
691  }
692 }

◆ msg() [1/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24  {
25  return this->msgStream();
26  }

◆ msg() [2/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( const MSG::Level  lvl) const
inlineinherited

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ msgLvl()

bool AthCommonMsg< AlgTool >::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30  {
31  return this->msgLevel(lvl);
32  }

◆ outputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ print()

void LArRecoSimpleGeomTool::print ( ) const
overridevirtual

method for printout

Implements ICaloRecoSimpleGeomTool.

Definition at line 573 of file LArRecoSimpleGeomTool.cxx.

574 {}

◆ renounce()

std::enable_if_t<std::is_void_v<std::result_of_t<decltype(&T::renounce)(T)> > && !std::is_base_of_v<SG::VarHandleKeyArray, T> && std::is_base_of_v<Gaudi::DataHandle, T>, void> AthCommonDataStore< AthCommonMsg< AlgTool > >::renounce ( T &  h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381  {
382  h.renounce();
383  PBASE::renounce (h);
384  }

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::renounceArray ( SG::VarHandleKeyArray handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364  {
365  handlesArray.renounce();
366  }

◆ ScanBarrelCryo()

bool LArRecoSimpleGeomTool::ScanBarrelCryo ( CaloSubdetNames::ALIGNVOL  alvol,
Amg::Transform3D htrans,
double &  hphi,
std::vector< double > &  radius,
std::vector< double > &  depth,
std::vector< double > &  hlength 
)
private

Definition at line 577 of file LArRecoSimpleGeomTool.cxx.

582 {
583  StoredPhysVol* storedPV = nullptr;
584  std::string key = map_av(alvol);
585  if(detStore()->contains<StoredPhysVol>(key))
586  {
587  if(detStore()->retrieve(storedPV,key)==StatusCode::FAILURE)
588  {
589  return false;
590  }
591  }
592 
593  if (!storedPV) {
594  return false;
595  }
596 
597  GeoFullPhysVol* fullPV = storedPV->getPhysVol();
598  htrans = fullPV->getAbsoluteTransform()*fullPV->getDefAbsoluteTransform().inverse();
599 
600  hphi = m_phi_range.twopi();
601  radius.clear();
602  depth.clear();
603  hlength.clear();
604 
605  return true;
606 }

◆ ScanEMB()

bool LArRecoSimpleGeomTool::ScanEMB ( CaloSubdetNames::ALIGNVOL  alvol,
Amg::Transform3D htrans,
double &  hphi,
std::vector< double > &  radius,
std::vector< double > &  depth,
std::vector< double > &  hlength 
)
private

Definition at line 609 of file LArRecoSimpleGeomTool.cxx.

614 {
615  StoredPhysVol* storedPV = nullptr;
616  std::string key = map_av(alvol);
617  if(detStore()->contains<StoredPhysVol>(key))
618  {
619  if(detStore()->retrieve(storedPV,key)==StatusCode::FAILURE)
620  {
621  return false;
622  }
623  }
624 
625  if (!storedPV) {
626  return false;
627  }
628 
629  GeoFullPhysVol* fullPV = storedPV->getPhysVol();
630  htrans = fullPV->getAbsoluteTransform()*fullPV->getDefAbsoluteTransform().inverse();
631 
632  hphi = m_phi_range.twopi();
633  radius.clear();
634  depth.clear();
635  hlength.clear();
636 
637  return true;
638 }

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in DerivationFramework::CfAthAlgTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and asg::AsgMetadataTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::updateVHKA ( Gaudi::Details::PropertyBase &  )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308  {
309  // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310  // << " size: " << m_vhka.size() << endmsg;
311  for (auto &a : m_vhka) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

Member Data Documentation

◆ m_calo_id

const CaloCell_ID* LArRecoSimpleGeomTool::m_calo_id = nullptr
private

Definition at line 83 of file LArRecoSimpleGeomTool.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_EmecGeo

IRDBRecordset_ptr LArRecoSimpleGeomTool::m_EmecGeo
private

Definition at line 96 of file LArRecoSimpleGeomTool.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_geometry

std::string LArRecoSimpleGeomTool::m_geometry
private

Definition at line 87 of file LArRecoSimpleGeomTool.h.

◆ m_geoModelSvc

const IGeoModelSvc* LArRecoSimpleGeomTool::m_geoModelSvc = nullptr
private

Definition at line 90 of file LArRecoSimpleGeomTool.h.

◆ m_HEC

IRDBRecordset_ptr LArRecoSimpleGeomTool::m_HEC
private

Definition at line 97 of file LArRecoSimpleGeomTool.h.

◆ m_iAccessSvc

IRDBAccessSvc* LArRecoSimpleGeomTool::m_iAccessSvc = nullptr
private

Definition at line 89 of file LArRecoSimpleGeomTool.h.

◆ m_node

std::string LArRecoSimpleGeomTool::m_node
private

Definition at line 100 of file LArRecoSimpleGeomTool.h.

◆ m_phi_range

CaloPhiRange LArRecoSimpleGeomTool::m_phi_range
private

Definition at line 84 of file LArRecoSimpleGeomTool.h.

◆ m_recBarrGeo

IRDBRecordset_ptr LArRecoSimpleGeomTool::m_recBarrGeo
private

Definition at line 94 of file LArRecoSimpleGeomTool.h.

◆ m_recCryoCyl

IRDBRecordset_ptr LArRecoSimpleGeomTool::m_recCryoCyl
private

Definition at line 92 of file LArRecoSimpleGeomTool.h.

◆ m_recPresGeo

IRDBRecordset_ptr LArRecoSimpleGeomTool::m_recPresGeo
private

Definition at line 93 of file LArRecoSimpleGeomTool.h.

◆ m_recPresPos

IRDBRecordset_ptr LArRecoSimpleGeomTool::m_recPresPos
private

Definition at line 95 of file LArRecoSimpleGeomTool.h.

◆ m_tag

std::string LArRecoSimpleGeomTool::m_tag
private

Definition at line 99 of file LArRecoSimpleGeomTool.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files:
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
CaloSubdetNames::HEC2_POS
@ HEC2_POS
Definition: CaloSubdetNames.h:42
egammaParameters::depth
@ depth
pointing depth of the shower as calculated in egammaqgcld
Definition: egammaParamDefs.h:276
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
IRDBAccessSvc::getRecordsetPtr
virtual IRDBRecordset_ptr getRecordsetPtr(const std::string &node, const std::string &tag, const std::string &tag2node="", const std::string &connName="ATLASDD")=0
Provides access to the Recordset object containing HVS-tagged data.
LArRecoSimpleGeomTool::m_recPresPos
IRDBRecordset_ptr m_recPresPos
Definition: LArRecoSimpleGeomTool.h:95
LArRecoSimpleGeomTool::m_recPresGeo
IRDBRecordset_ptr m_recPresGeo
Definition: LArRecoSimpleGeomTool.h:93
AthCommonDataStore::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
CaloSubdetNames::EMB_POS
@ EMB_POS
Definition: CaloSubdetNames.h:38
LArRecoSimpleGeomTool::m_recBarrGeo
IRDBRecordset_ptr m_recBarrGeo
Definition: LArRecoSimpleGeomTool.h:94
CaloSubdetNames::PRESAMPLER_B_NEG
@ PRESAMPLER_B_NEG
Definition: CaloSubdetNames.h:37
CaloSubdetNames::FCAL2_POS
@ FCAL2_POS
Definition: CaloSubdetNames.h:44
LArRecoSimpleGeomTool::m_geoModelSvc
const IGeoModelSvc * m_geoModelSvc
Definition: LArRecoSimpleGeomTool.h:90
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
DecodeVersionKey::node
const std::string & node() const
Return the version node.
Definition: DecodeVersionKey.cxx:99
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
CaloSubdetNames::HEC1_NEG
@ HEC1_NEG
Definition: CaloSubdetNames.h:41
LArRecoSimpleGeomTool::m_iAccessSvc
IRDBAccessSvc * m_iAccessSvc
Definition: LArRecoSimpleGeomTool.h:89
LArRecoSimpleGeomTool::m_calo_id
const CaloCell_ID * m_calo_id
Definition: LArRecoSimpleGeomTool.h:83
LArRecoSimpleGeomTool::m_node
std::string m_node
Definition: LArRecoSimpleGeomTool.h:100
LArRecoSimpleGeomTool::m_geometry
std::string m_geometry
Definition: LArRecoSimpleGeomTool.h:87
CaloSubdetNames::FCAL1_POS
@ FCAL1_POS
Definition: CaloSubdetNames.h:43
CaloSubdetNames::EMEC_POS
@ EMEC_POS
Definition: CaloSubdetNames.h:40
AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:95
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
CaloSubdetNames::HEC2_NEG
@ HEC2_NEG
Definition: CaloSubdetNames.h:42
CaloSubdetNames::FCAL3_POS
@ FCAL3_POS
Definition: CaloSubdetNames.h:45
StoredPhysVol
Definition: StoredPhysVol.h:27
CaloSubdetNames::PRESAMPLER_EC_POS
@ PRESAMPLER_EC_POS
Definition: CaloSubdetNames.h:39
cm
const double cm
Definition: Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/FCAL_ChannelMap.cxx:25
CaloSubdetNames::PRESAMPLER_B_POS
@ PRESAMPLER_B_POS
Definition: CaloSubdetNames.h:37
CaloSubdetNames::EMEC_NEG
@ EMEC_NEG
Definition: CaloSubdetNames.h:40
StoredPhysVol::getPhysVol
GeoFullPhysVol * getPhysVol()
Destructor.
Definition: StoredPhysVol.cxx:20
AthCommonDataStore
Definition: AthCommonDataStore.h:52
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
CaloSubdetNames::LARCRYO_B
@ LARCRYO_B
Definition: CaloSubdetNames.h:36
z
#define z
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CaloSubdetNames::LARCRYO_EC_POS
@ LARCRYO_EC_POS
Definition: CaloSubdetNames.h:36
CaloSubdetNames::FCAL3_NEG
@ FCAL3_NEG
Definition: CaloSubdetNames.h:45
DecodeVersionKey
This is a helper class to query the version tags from GeoModelSvc and determine the appropriate tag a...
Definition: DecodeVersionKey.h:18
test_pyathena.parent
parent
Definition: test_pyathena.py:15
DecodeVersionKey::tag
const std::string & tag() const
Return version tag.
Definition: DecodeVersionKey.cxx:93
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
LArRecoSimpleGeomTool::m_HEC
IRDBRecordset_ptr m_HEC
Definition: LArRecoSimpleGeomTool.h:97
LArRecoSimpleGeomTool::m_tag
std::string m_tag
Definition: LArRecoSimpleGeomTool.h:99
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
CaloPhiRange::twopi
static double twopi()
Definition: CaloPhiRange.h:46
IRDBRecordset_ptr
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
Definition: IRDBAccessSvc.h:25
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
CaloSubdetNames::HEC1_POS
@ HEC1_POS
Definition: CaloSubdetNames.h:41
LArRecoSimpleGeomTool::m_EmecGeo
IRDBRecordset_ptr m_EmecGeo
Definition: LArRecoSimpleGeomTool.h:96
CaloSubdetNames::PRESAMPLER_EC_NEG
@ PRESAMPLER_EC_NEG
Definition: CaloSubdetNames.h:39
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
CaloSubdetNames::EMB_NEG
@ EMB_NEG
Definition: CaloSubdetNames.h:38
CaloSubdetNames::FCAL2_NEG
@ FCAL2_NEG
Definition: CaloSubdetNames.h:44
CaloSubdetNames::SOLENOID
@ SOLENOID
Definition: CaloSubdetNames.h:46
LArRecoSimpleGeomTool::m_phi_range
CaloPhiRange m_phi_range
Definition: LArRecoSimpleGeomTool.h:84
ParticleGun_SamplingFraction.radius
radius
Definition: ParticleGun_SamplingFraction.py:96
a
TList * a
Definition: liststreamerinfos.cxx:10
h
CaloSubdetNames::FCAL1_NEG
@ FCAL1_NEG
Definition: CaloSubdetNames.h:43
IRDBRecord
IRDBRecord is one record in the IRDBRecordset object.
Definition: IRDBRecord.h:27
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:616
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
merge.status
status
Definition: merge.py:17
IRDBRecord::getDouble
virtual double getDouble(const std::string &fieldName) const =0
Get double field value.
hotSpotInTAG.nb
nb
Definition: hotSpotInTAG.py:164
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
LArRecoSimpleGeomTool::m_recCryoCyl
IRDBRecordset_ptr m_recCryoCyl
Definition: LArRecoSimpleGeomTool.h:92
CaloSubdetNames::LARCRYO_EC_NEG
@ LARCRYO_EC_NEG
Definition: CaloSubdetNames.h:36
LArRecoSimpleGeomTool::map_av
std::string map_av(CaloSubdetNames::ALIGNVOL alvol) const
Definition: LArRecoSimpleGeomTool.cxx:641
python.SystemOfUnits.rad
int rad
Definition: SystemOfUnits.py:111
fitman.k
k
Definition: fitman.py:528
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37