ATLAS Offline Software
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
InDet::TRT_DetElementsRoadMaker_xk Class Referencefinal

#include <TRT_DetElementsRoadMaker_xk.h>

Inheritance diagram for InDet::TRT_DetElementsRoadMaker_xk:
Collaboration diagram for InDet::TRT_DetElementsRoadMaker_xk:

Public Member Functions

 TRT_DetElementsRoadMaker_xk (const std::string &, const std::string &, const IInterface *)
 
virtual ~TRT_DetElementsRoadMaker_xk ()
 
virtual StatusCode initialize () override
 
virtual StatusCode finalize () override
 
virtual std::vector< const InDetDD::TRT_BaseElement * > detElementsRoad (const EventContext &ctx, MagField::AtlasFieldCache &fieldCache, const Trk::TrackParameters &Tp, Trk::PropDirection D, InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap &used) const override
 
virtual MsgStream & dump (MsgStream &out) const override
 
virtual std::ostream & dump (std::ostream &out) const override
 
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

void detElementsRoadATL (std::deque< Amg::Vector3D > &, std::vector< const InDetDD::TRT_BaseElement * > &, InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap &used) const
 
void detElementsRoadCTB (std::deque< Amg::Vector3D > &, std::vector< const InDetDD::TRT_BaseElement * > &, InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap &used) const
 
Trk::CylinderBounds getBound (MagField::AtlasFieldCache &fieldCache, const Trk::TrackParameters &) const
 
MsgStream & dumpConditions (MsgStream &out) const
 
const TRT_DetElementsLayerVectors_xkgetLayers () const
 
const Trk::CylinderBounds get_bounds () const
 
double getTRTMinR () 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...
 

Static Private Member Functions

static double stepToDetElement (const InDetDD::TRT_BaseElement *&, Amg::Vector3D &, Amg::Vector3D &)
 
static MsgStream & dumpEvent (MsgStream &out, int size_road)
 

Private Attributes

SG::ReadCondHandleKey< TRT_DetElementsRoadData_xkm_roadDataKey
 
SG::ReadCondHandleKey< AtlasFieldCacheCondObjm_fieldCacheCondObjInputKey
 
ToolHandle< Trk::IPropagatorm_proptool
 
float m_width {}
 
double m_step {}
 
std::string m_fieldmode
 
Trk::MagneticFieldMode m_fieldModeEnum {Trk::FullField}
 
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

InDet::TRT_DetElementsRoadMaker_xk is algorithm which produce list of InDetDD::TRT_BaseElement* sorted in propagation order.

Author
Igor..nosp@m.Gavr.nosp@m.ilenk.nosp@m.o@ce.nosp@m.rn.ch

Definition at line 65 of file TRT_DetElementsRoadMaker_xk.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

◆ TRT_DetElementsRoadMaker_xk()

InDet::TRT_DetElementsRoadMaker_xk::TRT_DetElementsRoadMaker_xk ( const std::string &  t,
const std::string &  n,
const IInterface *  p 
)

Definition at line 42 of file TRT_DetElementsRoadMaker_xk.cxx.

44  : AthAlgTool(t,n,p) ,
45  m_proptool ("Trk::RungeKuttaPropagator/InDetPropagator" ),
46  m_width (10.),
47  m_step (20.),
48  m_fieldmode ("MapSolenoid")
49 {
50  declareInterface<ITRT_DetElementsRoadMaker>(this);
51  declareProperty("RoadWidth" ,m_width );
52  declareProperty("MaxStep" ,m_step );
53  declareProperty("PropagatorTool" ,m_proptool );
54  declareProperty("MagneticFieldMode" ,m_fieldmode );
55 }

◆ ~TRT_DetElementsRoadMaker_xk()

InDet::TRT_DetElementsRoadMaker_xk::~TRT_DetElementsRoadMaker_xk ( )
virtualdefault

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  }

◆ detElementsRoad()

std::vector< const InDetDD::TRT_BaseElement * > InDet::TRT_DetElementsRoadMaker_xk::detElementsRoad ( const EventContext &  ctx,
MagField::AtlasFieldCache fieldCache,
const Trk::TrackParameters Tp,
Trk::PropDirection  D,
InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap used 
) const
overridevirtual

Implements InDet::ITRT_DetElementsRoadMaker.

Definition at line 278 of file TRT_DetElementsRoadMaker_xk.cxx.

283 {
284  double qp = std::abs(500.*Tp.parameters()[4]) ;
285  if( qp < 1.e-10 ) qp = 1.e-10;
286  double S = m_step/qp ;
287  if( S > 200. ) S = 200. ;
288  if(D<0) S=-S;
289  Trk::CylinderBounds CB = getBound(fieldCache, Tp);
290  double rminTRT = getTRTMinR();
291  std::vector<const InDetDD::TRT_BaseElement*> result;
292  if( CB.r() > rminTRT) {
294  if(!fieldCache.solenoidOn()) fieldModeEnum = Trk::NoField;
295  Trk::MagneticFieldProperties fieldprop(fieldModeEnum);
296  std::deque<Amg::Vector3D> G;
297  m_proptool->globalPositions(ctx, G,Tp,fieldprop,CB,S,Trk::pion);
298  if(G.size() > 1 ) {
300  }
301  }
302  return result;
303 }

◆ detElementsRoadATL()

void InDet::TRT_DetElementsRoadMaker_xk::detElementsRoadATL ( std::deque< Amg::Vector3D > &  GP,
std::vector< const InDetDD::TRT_BaseElement * > &  Road,
InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap used 
) const
private

Definition at line 311 of file TRT_DetElementsRoadMaker_xk.cxx.

315 {
316  int n0 = 0;
317  int n1 = 0;
318  int n2 = 0;
319  std::deque<Amg::Vector3D>::iterator g=GP.begin(),ge=GP.end();
320 
322 
323  float Po[6] = {float((*g).x()),float((*g).y()),float((*g).z()),
324  float(std::sqrt((*g).x()*(*g).x()+(*g).y()*(*g).y())),m_width,0.};
325 
326  for(; n0!=(int)layer[0].size(); ++n0) {if(Po[2] > layer[0][n0].z()) break;}
327  for(; n1!=(int)layer[1].size(); ++n1) {if(Po[3] < layer[1][n1].r()) break;}
328  for(; n2!=(int)layer[2].size(); ++n2) {if(Po[2] < layer[2][n2].z()) break;}
329 
330  std::vector<std::pair<const InDet::TRT_DetElementLink_xk*,float> > lDE;
331  for (unsigned int module_i = 0; module_i < 3; ++module_i) {
332  size_t layersSize = layer[module_i].size();
333  //Add more vectors if we need more
334  used[module_i].resize(layersSize);
335  for (unsigned int layer_i = 0; layer_i < layersSize; ++layer_i) {
336  // Although we clear/resize , we retain capacity
337  // clear what was there before
338  used[module_i][layer_i].clear();
339  //default init to false
340  used[module_i][layer_i].resize(layer[module_i][layer_i].nElements());
341  }
342  }
343 
344  for(++g; g!=ge; ++g) {
345 
346  float Pn[4] = {float((*g).x()),float((*g).y()),float((*g).z()),
347  float(std::sqrt((*g).x()*(*g).x()+(*g).y()*(*g).y()))};
348 
349  float dx = Pn[0]-Po[0];
350  float dy = Pn[1]-Po[1];
351  float dz = Pn[2]-Po[2];
352  float st = std::sqrt(dx*dx+dy*dy+dz*dz);
353  if(st <=0.) continue;
354  float ds = 1./st;
355  float A[3]= {dx*ds,dy*ds,dz*ds};
356 
357  // Barrel
358  //
359  if (Pn[3] > Po[3]) {
360  for (; n1 < (int)layer[1].size(); ++n1) {
361 
362  if (Pn[3] < layer[1][n1].r())
363  break;
364  assert(used.at(1).size() > static_cast<unsigned int>(n1));
365  layer[1][n1].getBarrelDetElementsATL(Po, A, lDE, used[1][n1]);
366  }
367  } else {
368  for (--n1; n1 >= 0; --n1) {
369  if (Pn[3] > layer[1][n1].r())
370  break;
371  assert(used.at(1).size() > static_cast<unsigned int>(n1));
372  layer[1][n1].getBarrelDetElementsATL(Po, A, lDE, used[1][n1]);
373  }
374  ++n1;
375  }
376 
377  // Positive endcap
378  //
379  if(Pn[2]>Po[2]) {
380 
381  for (; n2 < (int)layer[2].size(); ++n2) {
382  if (Pn[2] < layer[2][n2].z())
383  break;
384  assert(used.at(2).size() > static_cast<unsigned int>(n2));
385  layer[2][n2].getEndcapDetElements(Po, A, lDE, used[2][n2]);
386  }
387  } else {
388  for (--n2; n2 >= 0; --n2) {
389  if (Pn[2] > layer[2][n2].z())
390  break;
391  assert(used.at(2).size() > static_cast<unsigned int>(n2));
392  layer[2][n2].getEndcapDetElements(Po, A, lDE, used[2][n2]);
393  }
394  ++n2;
395  }
396 
397  // Negative endcap
398  //
399  if(Pn[2]<Po[2]) {
400 
401  for (; n0 < (int)layer[0].size(); ++n0) {
402  if (Pn[2] > layer[0][n0].z())
403  break;
404  assert(used.at(0).size() > static_cast<unsigned int>(n0));
405  layer[0][n0].getEndcapDetElements(Po, A, lDE, used[0][n0]);
406  }
407  } else {
408  for (--n0; n0 >= 0; --n0) {
409  if (Pn[2] < layer[0][n0].z())
410  break;
411  assert(used.at(0).size() > static_cast<unsigned int>(n0));
412  layer[0][n0].getEndcapDetElements(Po, A, lDE, used[0][n0]);
413  }
414  ++n0;
415  }
416  Po[0] = Pn[0];
417  Po[1] = Pn[1];
418  Po[2] = Pn[2];
419  Po[3] = Pn[3];
420  Po[5]+= st;
421  }
422 
423  // Sort list in propogation order
424  //
425  std::vector<std::pair<const InDet::TRT_DetElementLink_xk*,float> >::iterator l=lDE.begin(),le=lDE.end(),n,m;
426  if(l==le) return;
427 
428  bool nc =true;
429  while(nc) {
430 
431  nc =false; m=l; n=l;
432  for(++n; n!=le; ++n) {
433 
434  if( (*m).second > (*n).second ) {
435  std::pair<const InDet::TRT_DetElementLink_xk*,float> d=(*m); (*m)=(*n); (*n)=d; nc=true;
436  }
437  ++m;
438  }
439  }
440 
441  // Fill list pointers to detector elements
442  //
443  for(l=lDE.begin(); l!=le; ++l) {
444  Road.push_back((*l).first->detElement());
445  }
446 }

◆ detElementsRoadCTB()

void InDet::TRT_DetElementsRoadMaker_xk::detElementsRoadCTB ( std::deque< Amg::Vector3D > &  GP,
std::vector< const InDetDD::TRT_BaseElement * > &  Road,
InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap used 
) const
private

Definition at line 453 of file TRT_DetElementsRoadMaker_xk.cxx.

457 {
458  int n1 = 0;
459  std::deque<Amg::Vector3D>::iterator g=GP.begin(),ge=GP.end();
460 
462 
463  float Po[6] = {float((*g).x()),float((*g).y()),float((*g).z()),
464  float(std::sqrt((*g).x()*(*g).x()+(*g).y()*(*g).y())),m_width,0.};
465 
466  for(; n1!=(int)layer[1].size(); ++n1) {if(Po[3] < layer[1][n1].r()) break;}
467 
468  std::vector<std::pair<const InDet::TRT_DetElementLink_xk*,float> > lDE;
469  for (unsigned int module_i = 0; module_i < 3; ++module_i) {
470  size_t layersSize = layer[module_i].size();
471  //Add more vectors if we need more
472  used[module_i].resize(layersSize);
473  for (unsigned int layer_i = 0; layer_i < layersSize; ++layer_i) {
474  // Although we clear/resize , we retain capacity
475  // clear what was there before
476  used[module_i][layer_i].clear();
477  //default init to false
478  used[module_i][layer_i].resize(layer[module_i][layer_i].nElements());
479  }
480  }
481 
482  for(++g; g!=ge; ++g) {
483 
484  float Pn[4] = {float((*g).x()),float((*g).y()),float((*g).z()),
485  float(std::sqrt((*g).x()*(*g).x()+(*g).y()*(*g).y()))};
486 
487  float dx = Pn[0]-Po[0];
488  float dy = Pn[1]-Po[1];
489  float dz = Pn[2]-Po[2];
490  float st = std::sqrt(dx*dx+dy*dy+dz*dz);
491  float ds = 1./st;
492  float A[3]= {dx*ds,dy*ds,dz*ds};
493 
494  // Barrel
495  //
496  if(Pn[3]>Po[3]) {
497  for(; n1<(int)layer[1].size(); ++n1) {
498  if(Pn[3] < layer[1][n1].r()) break;
499  assert( used.at(1).size() > static_cast<unsigned int>(n1) );
500  layer[1][n1].getBarrelDetElementsCTB(Po,A,lDE,used[1][n1]);
501  }
502  }
503  else {
504  for(--n1; n1>=0; --n1) {
505  if(Pn[3] > layer[1][n1].r()) break;
506  layer[1][n1].getBarrelDetElementsCTB(Po,A,lDE,used[1][n1]);
507  }
508  ++n1;
509  }
510  }
511 
512  // Sort list in propogation order
513  //
514  std::vector<std::pair<const InDet::TRT_DetElementLink_xk*, float> >::iterator l=lDE.begin(),le=lDE.end(),n;
515  if(l==le) return;
516 
517  bool nc =true;
518  while(nc) {
519 
520  nc =false; n=l;
521  for(++n; n!=le; ++n) {
522 
523  if( (*l).second > (*n).second ) {
524  std::pair<const InDet::TRT_DetElementLink_xk*,float> d = (*l); (*l) = (*n); (*n) = d;
525  nc = true;
526  }
527  ++l;
528  }
529  }
530 
531  // Fill list pointers to detector elements
532  //
533  for(l=lDE.begin(); l!=le; ++l) {
534  Road.push_back((*l).first->detElement());
535  }
536 }

◆ 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; }

◆ dump() [1/2]

MsgStream & InDet::TRT_DetElementsRoadMaker_xk::dump ( MsgStream &  out) const
overridevirtual

Implements InDet::ITRT_DetElementsRoadMaker.

Definition at line 96 of file TRT_DetElementsRoadMaker_xk.cxx.

97 {
98  return dumpConditions(out);
99 }

◆ dump() [2/2]

std::ostream & InDet::TRT_DetElementsRoadMaker_xk::dump ( std::ostream &  out) const
overridevirtual

Implements InDet::ITRT_DetElementsRoadMaker.

Definition at line 268 of file TRT_DetElementsRoadMaker_xk.cxx.

269 {
270  return out;
271 }

◆ dumpConditions()

MsgStream & InDet::TRT_DetElementsRoadMaker_xk::dumpConditions ( MsgStream &  out) const
private

Definition at line 105 of file TRT_DetElementsRoadMaker_xk.cxx.

106 {
107  int n = 62-m_proptool.type().size();
108  std::string s1; for(int i=0; i<n; ++i) s1.append(" "); s1.append("|");
109 
110  std::string fieldmode[9] ={"NoField" ,"ConstantField","SolenoidalField",
111  "ToroidalField" ,"Grid3DField" ,"RealisticField" ,
112  "UndefinedField","AthenaField" , "?????" };
113 
116  const AtlasFieldCacheCondObj* fieldCondObj{*fieldHandle};
117  if (fieldCondObj) {
118  MagField::AtlasFieldCache fieldCache;
119  fieldCondObj->getInitializedCache (fieldCache);
120  if(!fieldCache.solenoidOn()) fieldModeEnum = Trk::NoField;
121  }
122  Trk::MagneticFieldProperties fieldprop(fieldModeEnum);
123  int mode = fieldprop.magneticFieldMode();
124  if(mode<0 || mode>8 ) mode = 8;
125 
126  n = 62-fieldmode[mode].size();
127  std::string s3; for(int i=0; i<n; ++i) s3.append(" "); s3.append("|");
128 
130 
131  int maps = 0;
132  if(!layer[0].empty()) ++maps;
133  if(!layer[1].empty()) ++maps;
134  if(!layer[2].empty()) ++maps;
135 
136  out<<"|----------------------------------------------------------------------"
137  <<"-------------------|"
138  <<std::endl;
139  out<<"| Tool for propagation | "<<m_proptool.type()<<s1<<std::endl;
140  out<<"| Magnetic field mode | "<<fieldmode[mode]<<s3<<std::endl;
141  out<<"| Width of the road (mm) | "
142  <<std::setw(12)<<std::setprecision(5)<<m_width
143  <<" |"<<std::endl;
144  out<<"|----------------------------------------------------------------------"
145  <<"-------------------|"
146  <<std::endl;
147 
148  if(!maps || !msgLvl(MSG::VERBOSE)) return out;
149 
150  if(!layer[1].empty()) {
151  int nl = layer[1].size();
152  int nc = 0;
153  for(const auto & i : layer[1]) nc+=i.nElements();
154  out<<"|----------------------------------------------------------------|"
155  <<std::endl;
156  out<<"| Barrel map containt "
157  <<std::setw(4)<<nl<<" layers and "
158  <<std::setw(6)<<nc<<" elements |"
159  <<std::endl;
160  out<<"|------|-----------|------------|------------|------------|------|"
161  <<std::endl;
162  out<<"| n | R | Z min | Z max | max dF | nEl |"
163  <<std::endl;
164  out<<"|------|-----------|------------|------------|------------|------|"
165  <<std::endl;
166  for(unsigned int i=0; i!=layer[1].size(); ++i) {
167  float zmin = layer[1][i].z()-layer[1][i].dz();
168  float zmax = layer[1][i].z()+layer[1][i].dz();
169  out<<"| "
170  <<std::setw(4)<<i<<" |"
171  <<std::setw(10)<<std::setprecision(4)<< layer[1][i].r ()<<" | "
172  <<std::setw(10)<<std::setprecision(4)<< zmin<<" | "
173  <<std::setw(10)<<std::setprecision(4)<< zmax<<" | "
174  <<std::setw(10)<<std::setprecision(4)<< layer[1][i].dfe()<<" | "
175  <<std::setw(4)<<layer[1][i].nElements()<<" | "
176  <<std::endl;
177  }
178  out<<"|------|-----------|------------|------------|------------|------|"
179  <<std::endl;
180 
181  }
182  if(!layer[0].empty()) {
183 
184  int nl = layer[0].size();
185  int nc = 0;
186  for(const auto & i : layer[0]) nc+=i.nElements();
187  out<<"|----------------------------------------------------------------|"
188  <<std::endl;
189  out<<"| L.Endcap map containt "
190  <<std::setw(4)<<nl<<" layers and "
191  <<std::setw(6)<<nc<<" elements |"
192  <<std::endl;
193 
194  out<<"|------|-----------|------------|------------|------------|------|"
195  <<std::endl;
196  out<<"| n | Z | R min | R max | max dF | nEl |"
197  <<std::endl;
198  out<<"|------|-----------|------------|------------|------------|------|"
199  <<std::endl;
200  for(unsigned int i=0; i!=layer[0].size(); ++i) {
201  float rmin = layer[0][i].r()-layer[0][i].dr();
202  float rmax = layer[0][i].r()+layer[0][i].dr();
203  out<<"| "
204  <<std::setw(4)<<i<<" |"
205  <<std::setw(10)<<std::setprecision(4)<< layer[0][i].z()<<" | "
206  <<std::setw(10)<<std::setprecision(4)<< rmin<<" | "
207  <<std::setw(10)<<std::setprecision(4)<< rmax<<" | "
208  <<std::setw(10)<<std::setprecision(4)<<layer[0][i].dfe()<<" | "
209  <<std::setw(4)<<layer[0][i].nElements()<<" | "
210  <<std::endl;
211  }
212  out<<"|------|-----------|------------|------------|------------|------|"
213  <<std::endl;
214  }
215  if(!layer[2].empty()) {
216  int nl = layer[2].size();
217  int nc = 0;
218  for(const auto & i : layer[2]) nc+=i.nElements();
219  out<<"|----------------------------------------------------------------|"
220  <<std::endl;
221  out<<"| R.Endcap map containt "
222  <<std::setw(4)<<nl<<" layers and "
223  <<std::setw(6)<<nc<<" elements |"
224  <<std::endl;
225  out<<"|------|-----------|------------|------------|------------|------|"
226  <<std::endl;
227  out<<"| n | Z | R min | R max | max dF | nEl |"
228  <<std::endl;
229  out<<"|------|-----------|------------|------------|------------|------|"
230  <<std::endl;
231  for(unsigned int i=0; i!=layer[2].size(); ++i) {
232  float rmin = layer[2][i].r()-layer[0][i].dr();
233  float rmax = layer[2][i].r()+layer[0][i].dr();
234  out<<"| "
235  <<std::setw(4)<<i<<" |"
236  <<std::setw(10)<<std::setprecision(4)<< layer[2][i].z()<<" | "
237  <<std::setw(10)<<std::setprecision(4)<< rmin<<" | "
238  <<std::setw(10)<<std::setprecision(4)<< rmax<<" | "
239  <<std::setw(10)<<std::setprecision(4)<<layer[2][i].dfe()<<" | "
240  <<std::setw(4)<<layer[2][i].nElements()<<" | "
241  <<std::endl;
242  }
243  out<<"|------|-----------|------------|------------|------------|------|"
244  <<std::endl;
245  }
246  return out;
247 }

◆ dumpEvent()

MsgStream & InDet::TRT_DetElementsRoadMaker_xk::dumpEvent ( MsgStream &  out,
int  size_road 
)
staticprivate

Definition at line 253 of file TRT_DetElementsRoadMaker_xk.cxx.

254 {
255  out<<"|--------------------------------------------------------------------|"
256  <<std::endl;
257  out<<"| Road size | "<<std::setw(12)<<size_road
258  <<" |"<<std::endl;
259  out<<"|--------------------------------------------------------------------|"
260  <<std::endl;
261  return out;
262 }

◆ 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 InDet::TRT_DetElementsRoadMaker_xk::finalize ( )
overridevirtual

Implements InDet::ITRT_DetElementsRoadMaker.

Definition at line 87 of file TRT_DetElementsRoadMaker_xk.cxx.

88 {
89  StatusCode sc = AlgTool::finalize(); return sc;
90 }

◆ get_bounds()

const Trk::CylinderBounds InDet::TRT_DetElementsRoadMaker_xk::get_bounds ( ) const
inlineprivate

Definition at line 148 of file TRT_DetElementsRoadMaker_xk.h.

148  {
150  if (not roadData.isValid()) {
151  ATH_MSG_FATAL("Failed to get " << m_roadDataKey.key());
152  }
153  return roadData->getBounds();
154  }

◆ getBound()

Trk::CylinderBounds InDet::TRT_DetElementsRoadMaker_xk::getBound ( MagField::AtlasFieldCache fieldCache,
const Trk::TrackParameters Tp 
) const
private

Definition at line 555 of file TRT_DetElementsRoadMaker_xk.cxx.

557 {
558  const double cor = 0.8;
559 
560  double zfield = 0.;
561  if(m_fieldModeEnum!=Trk::NoField && fieldCache.solenoidOn()) {
562  const Amg::Vector3D& pos = Tp.position();
563  double f[3], p[3] ={pos[Amg::x],pos[Amg::y],pos[Amg::z]};
564  fieldCache.getFieldZR (p, f);
565  zfield = 299.7925*f[2];
566  }
567 
568  const Trk::CylinderBounds bounds = get_bounds();
569 
570  if( std::abs(zfield) < .0000001 ) return bounds;
571 
572  const AmgVector(5)& Vp = Tp.parameters();
573 
574  double cur = zfield*Vp[4]/std::sin(Vp[3]);
575 
576  if( std::abs(cur)*bounds.r() < cor ) return bounds;
577 
578  double rad = 1./cur;
579  if(cor*std::abs(rad) > bounds.r() ) return bounds;
580 
581  const Amg::Vector3D& Gp = Tp.position() ;
582  double sn,cs; sincos(Vp[2],&sn,&cs);
583  double xc = Gp.x()+sn*rad ;
584  double yc = Gp.y()-cs*rad ;
585  double rm = (std::sqrt(xc*xc+yc*yc)+std::abs(rad))*cor;
586  if( rm > bounds.r() ) return bounds;
587  Trk::CylinderBounds CB(rm,bounds.halflengthZ());
588  return CB;
589 }

◆ getLayers()

const TRT_DetElementsLayerVectors_xk* InDet::TRT_DetElementsRoadMaker_xk::getLayers ( ) const
inlineprivate

Definition at line 139 of file TRT_DetElementsRoadMaker_xk.h.

139  {
141  if (not roadData.isValid()) {
142  ATH_MSG_FATAL("Failed to get " << m_roadDataKey.key());
143  }
144  return roadData->getLayers();
145  }

◆ getTRTMinR()

double InDet::TRT_DetElementsRoadMaker_xk::getTRTMinR ( ) const
inlineprivate

Definition at line 157 of file TRT_DetElementsRoadMaker_xk.h.

157  {
159  if (not roadData.isValid()) {
160  ATH_MSG_FATAL("Failed to get " << m_roadDataKey.key());
161  }
162  double rmintrt = roadData->getTRTMinR();
163  return rmintrt;
164  }

◆ initialize()

StatusCode InDet::TRT_DetElementsRoadMaker_xk::initialize ( )
overridevirtual

Implements InDet::ITRT_DetElementsRoadMaker.

Definition at line 68 of file TRT_DetElementsRoadMaker_xk.cxx.

69 {
71  if(m_fieldmode == "NoField") m_fieldModeEnum = Trk::NoField;
72  else if(m_fieldmode == "MapSolenoid") m_fieldModeEnum = Trk::FastField;
74  // Get propagator tool
75  ATH_CHECK (m_proptool.retrieve());
76  ATH_MSG_DEBUG("Retrieved tool " << m_proptool);
77  ATH_CHECK(m_roadDataKey.initialize());
79 
80  return sc;
81 }

◆ 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 & InDet::ITRT_DetElementsRoadMaker::interfaceID ( )
inlinestaticinherited

Definition at line 88 of file ITRT_DetElementsRoadMaker.h.

89  {
90  return IID_ITRT_DetElementsRoadMaker;
91  }

◆ 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.

◆ 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  }

◆ stepToDetElement()

double InDet::TRT_DetElementsRoadMaker_xk::stepToDetElement ( const InDetDD::TRT_BaseElement *&  de,
Amg::Vector3D r,
Amg::Vector3D a 
)
staticprivate

Definition at line 542 of file TRT_DetElementsRoadMaker_xk.cxx.

544 {
545  Amg::Vector3D R = de->center();
546  Amg::Vector3D A = de->normal();
547  double D = a.x()*A.x()+a.y()*A.y()+a.z()*A.z(); if(D==0.) return D;
548  return ((A.x()*(R.x()-r.x())+A.y()*(R.y()-r.y())+A.z()*(R.z()-r.z()))/D);
549 }

◆ 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_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_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_fieldCacheCondObjInputKey

SG::ReadCondHandleKey<AtlasFieldCacheCondObj> InDet::TRT_DetElementsRoadMaker_xk::m_fieldCacheCondObjInputKey
private
Initial value:
{this,"AtlasFieldCacheCondObj", "fieldCondObj",
"Name of the Magnetic Field conditions object key"}

Definition at line 106 of file TRT_DetElementsRoadMaker_xk.h.

◆ m_fieldmode

std::string InDet::TRT_DetElementsRoadMaker_xk::m_fieldmode
private

Definition at line 114 of file TRT_DetElementsRoadMaker_xk.h.

◆ m_fieldModeEnum

Trk::MagneticFieldMode InDet::TRT_DetElementsRoadMaker_xk::m_fieldModeEnum {Trk::FullField}
private

Definition at line 115 of file TRT_DetElementsRoadMaker_xk.h.

◆ m_proptool

ToolHandle<Trk::IPropagator> InDet::TRT_DetElementsRoadMaker_xk::m_proptool
private

Definition at line 109 of file TRT_DetElementsRoadMaker_xk.h.

◆ m_roadDataKey

SG::ReadCondHandleKey<TRT_DetElementsRoadData_xk> InDet::TRT_DetElementsRoadMaker_xk::m_roadDataKey
private
Initial value:
{this, "RoadDataKey",
"TRT_DetElementsRoadData_xk", "Key of TRT_DetElementsRoadData_xk"}

Definition at line 103 of file TRT_DetElementsRoadMaker_xk.h.

◆ m_step

double InDet::TRT_DetElementsRoadMaker_xk::m_step {}
private

Definition at line 112 of file TRT_DetElementsRoadMaker_xk.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.

◆ m_width

float InDet::TRT_DetElementsRoadMaker_xk::m_width {}
private

Definition at line 111 of file TRT_DetElementsRoadMaker_xk.h.


The documentation for this class was generated from the following files:
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
used
InDet::TRT_DetElementsRoadMaker_xk::dumpConditions
MsgStream & dumpConditions(MsgStream &out) const
Definition: TRT_DetElementsRoadMaker_xk.cxx:105
beamspotman.r
def r
Definition: beamspotman.py:676
ReadCellNoiseFromCoolCompare.s1
s1
Definition: ReadCellNoiseFromCoolCompare.py:378
python.CaloRecoConfig.f
f
Definition: CaloRecoConfig.py:127
InDet::TRT_DetElementsRoadMaker_xk::m_fieldmode
std::string m_fieldmode
Definition: TRT_DetElementsRoadMaker_xk.h:114
checkxAOD.ds
ds
Definition: Tools/PyUtils/bin/checkxAOD.py:257
python.tests.PyTestsLib.finalize
def finalize(self)
_info( "content of StoreGate..." ) self.sg.dump()
Definition: PyTestsLib.py:53
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
InDet::TRT_DetElementsRoadMaker_xk::get_bounds
const Trk::CylinderBounds get_bounds() const
Definition: TRT_DetElementsRoadMaker_xk.h:148
get_generator_info.result
result
Definition: get_generator_info.py:21
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
Trk::MagneticFieldProperties
Definition: MagneticFieldProperties.h:31
IDTPM::R
float R(const U &p)
Definition: TrackParametersHelper.h:101
AtlasFieldCacheCondObj
Definition: AtlasFieldCacheCondObj.h:19
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
MagField::AtlasFieldCache::getFieldZR
void getFieldZR(const double *ATH_RESTRICT xyz, double *ATH_RESTRICT bxyz, double *ATH_RESTRICT deriv=nullptr)
get B field valaue on the z-r plane at given position works only inside the solenoid.
Definition: AtlasFieldCache.cxx:86
beamspotman.cur
def cur
Definition: beamspotman.py:671
Trk::ParametersBase::position
const Amg::Vector3D & position() const
Access method for the position.
PixelAthClusterMonAlgCfg.zmin
zmin
Definition: PixelAthClusterMonAlgCfg.py:176
AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
hist_file_dump.d
d
Definition: hist_file_dump.py:137
initialize
void initialize()
Definition: run_EoverP.cxx:894
InDet::TRT_DetElementsRoadMaker_xk::getTRTMinR
double getTRTMinR() const
Definition: TRT_DetElementsRoadMaker_xk.h:157
Amg::y
@ y
Definition: GeoPrimitives.h:35
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
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
AthCommonMsg< AlgTool >::msgLvl
bool msgLvl(const MSG::Level lvl) const
Definition: AthCommonMsg.h:30
UploadAMITag.l
list l
Definition: UploadAMITag.larcaf.py:158
MCP::DetectorType::CB
@ CB
Definition: EnumDef.h:37
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
InDet::TRT_DetElementsRoadMaker_xk::getLayers
const TRT_DetElementsLayerVectors_xk * getLayers() const
Definition: TRT_DetElementsRoadMaker_xk.h:139
InDet::TRT_DetElementsLayerVectors_xk
std::vector< std::vector< InDet::TRT_DetElementsLayer_xk > > TRT_DetElementsLayerVectors_xk
Definition: TRT_DetElementsLayerVectors_xk.h:16
InDet::TRT_DetElementsRoadMaker_xk::m_width
float m_width
Definition: TRT_DetElementsRoadMaker_xk.h:111
JetTiledMap::S
@ S
Definition: TiledEtaPhiMap.h:44
empty
bool empty(TH1 *h)
Definition: computils.cxx:294
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
InDet::TRT_DetElementsRoadMaker_xk::m_fieldModeEnum
Trk::MagneticFieldMode m_fieldModeEnum
Definition: TRT_DetElementsRoadMaker_xk.h:115
InDet::TRT_DetElementsRoadMaker_xk::m_roadDataKey
SG::ReadCondHandleKey< TRT_DetElementsRoadData_xk > m_roadDataKey
Definition: TRT_DetElementsRoadMaker_xk.h:103
dqt_zlumi_alleff_HIST.A
A
Definition: dqt_zlumi_alleff_HIST.py:110
Trk::FastField
@ FastField
call the fast field access method of the FieldSvc
Definition: MagneticFieldMode.h:20
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
Amg::z
@ z
Definition: GeoPrimitives.h:36
InDet::TRT_DetElementsRoadMaker_xk::m_proptool
ToolHandle< Trk::IPropagator > m_proptool
Definition: TRT_DetElementsRoadMaker_xk.h:109
AthCommonDataStore
Definition: AthCommonDataStore.h:52
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
lumiFormat.i
int i
Definition: lumiFormat.py:92
z
#define z
G
#define G(x, y, z)
Definition: MD5.cxx:113
python.CaloCondTools.g
g
Definition: CaloCondTools.py:15
beamspotman.n
n
Definition: beamspotman.py:731
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
AmgVector
AmgVector(4) T2BSTrackFilterTool
Definition: T2BSTrackFilterTool.cxx:114
Amg::x
@ x
Definition: GeoPrimitives.h:34
Trk::CylinderBounds
Definition: CylinderBounds.h:46
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
Trk::pion
@ pion
Definition: ParticleHypothesis.h:29
PixelAthClusterMonAlgCfg.zmax
zmax
Definition: PixelAthClusterMonAlgCfg.py:176
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
Preparation.mode
mode
Definition: Preparation.py:95
InDet::TRT_DetElementsRoadMaker_xk::m_step
double m_step
Definition: TRT_DetElementsRoadMaker_xk.h:112
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
MagField::AtlasFieldCache::solenoidOn
bool solenoidOn() const
status of the magnets
Trk::FullField
@ FullField
Field is set to be realistic, but within a given Volume.
Definition: MagneticFieldMode.h:21
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
InDet::TRT_DetElementsRoadMaker_xk::getBound
Trk::CylinderBounds getBound(MagField::AtlasFieldCache &fieldCache, const Trk::TrackParameters &) const
Definition: TRT_DetElementsRoadMaker_xk.cxx:556
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
Trk::NoField
@ NoField
Field is set to 0., 0., 0.,.
Definition: MagneticFieldMode.h:18
ReadCellNoiseFromCoolCompare.s3
s3
Definition: ReadCellNoiseFromCoolCompare.py:380
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
Rtt_histogram.n1
n1
Definition: Rtt_histogram.py:21
makeTRTBarrelCans.dy
tuple dy
Definition: makeTRTBarrelCans.py:21
InDet::TRT_DetElementsRoadMaker_xk::detElementsRoadATL
void detElementsRoadATL(std::deque< Amg::Vector3D > &, std::vector< const InDetDD::TRT_BaseElement * > &, InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap &used) const
Definition: TRT_DetElementsRoadMaker_xk.cxx:312
DiTauMassTools::MaxHistStrategyV2::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
a
TList * a
Definition: liststreamerinfos.cxx:10
h
makeTRTBarrelCans.dx
tuple dx
Definition: makeTRTBarrelCans.py:20
InDetDD::TRT_BaseElement::center
virtual const Amg::Vector3D & center() const override final
Element Surface: center of a straw layer.
MagField::AtlasFieldCache
Local cache for magnetic field (based on MagFieldServices/AtlasFieldSvcTLS.h)
Definition: AtlasFieldCache.h:43
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
python.Constants.VERBOSE
int VERBOSE
Definition: Control/AthenaCommon/python/Constants.py:14
drawFromPickle.sin
sin
Definition: drawFromPickle.py:36
Trk::MagneticFieldMode
MagneticFieldMode
Definition: MagneticFieldMode.h:17
InDetDD::TRT_BaseElement::normal
virtual const Amg::Vector3D & normal() const override final
Element Surface: normal of a straw layer.
InDet::TRT_DetElementsRoadMaker_xk::m_fieldCacheCondObjInputKey
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > m_fieldCacheCondObjInputKey
Definition: TRT_DetElementsRoadMaker_xk.h:106
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
readCCLHist.float
float
Definition: readCCLHist.py:83
plotBeamSpotMon.nc
int nc
Definition: plotBeamSpotMon.py:83
python.SystemOfUnits.rad
int rad
Definition: SystemOfUnits.py:111
fitman.k
k
Definition: fitman.py:528
Trk::CylinderBounds::halflengthZ
double halflengthZ() const
This method returns the halflengthZ.
Trk::CylinderBounds::r
virtual double r() const override final
This method returns the radius.