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 EventContext &ctx) const
 
void detElementsRoadCTB (std::deque< Amg::Vector3D > &, std::vector< const InDetDD::TRT_BaseElement * > &, InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap &used, const EventContext &ctx) const
 
Trk::CylinderBounds getBound (MagField::AtlasFieldCache &fieldCache, const Trk::TrackParameters &, const EventContext &ctx) const
 
MsgStream & dumpConditions (MsgStream &out) const
 
const TRT_DetElementsLayerVectors_xkgetLayers (const EventContext &ctx) const
 
const Trk::CylinderBounds get_bounds (const EventContext &ctx) const
 
double getTRTMinR (const EventContext &ctx) 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
 
PublicToolHandle< Trk::IPropagatorm_proptool
 
FloatProperty m_width
 
DoubleProperty m_step {this, "MaxStep", 20., "Max step allowed"}
 
StringProperty 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 61 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 41 of file TRT_DetElementsRoadMaker_xk.cxx.

43  : AthAlgTool(t,n,p)
44 {
45  declareInterface<ITRT_DetElementsRoadMaker>(this);
46 }

◆ ~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 269 of file TRT_DetElementsRoadMaker_xk.cxx.

274 {
275  double qp = std::abs(500.*Tp.parameters()[4]) ;
276  if( qp < 1.e-10 ) qp = 1.e-10;
277  double S = m_step/qp ;
278  if( S > 200. ) S = 200. ;
279  if(D<0) S=-S;
280  Trk::CylinderBounds CB = getBound(fieldCache, Tp, ctx);
281  double rminTRT = getTRTMinR(ctx);
282  std::vector<const InDetDD::TRT_BaseElement*> result;
283  if( CB.r() > rminTRT) {
285  if(!fieldCache.solenoidOn()) fieldModeEnum = Trk::NoField;
286  Trk::MagneticFieldProperties fieldprop(fieldModeEnum);
287  std::deque<Amg::Vector3D> G;
288  m_proptool->globalPositions(ctx, G,Tp,fieldprop,CB,S,Trk::pion);
289  if(G.size() > 1 ) {
291  }
292  }
293  return result;
294 }

◆ 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 EventContext &  ctx 
) const
private

Definition at line 302 of file TRT_DetElementsRoadMaker_xk.cxx.

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

◆ 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 EventContext &  ctx 
) const
private

Definition at line 445 of file TRT_DetElementsRoadMaker_xk.cxx.

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

◆ 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 87 of file TRT_DetElementsRoadMaker_xk.cxx.

88 {
89  return dumpConditions(out);
90 }

◆ dump() [2/2]

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

Implements InDet::ITRT_DetElementsRoadMaker.

Definition at line 259 of file TRT_DetElementsRoadMaker_xk.cxx.

260 {
261  return out;
262 }

◆ dumpConditions()

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

Definition at line 96 of file TRT_DetElementsRoadMaker_xk.cxx.

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

◆ dumpEvent()

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

Definition at line 244 of file TRT_DetElementsRoadMaker_xk.cxx.

245 {
246  out<<"|--------------------------------------------------------------------|"
247  <<std::endl;
248  out<<"| Road size | "<<std::setw(12)<<size_road
249  <<" |"<<std::endl;
250  out<<"|--------------------------------------------------------------------|"
251  <<std::endl;
252  return out;
253 }

◆ 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 78 of file TRT_DetElementsRoadMaker_xk.cxx.

79 {
80  StatusCode sc = AlgTool::finalize(); return sc;
81 }

◆ get_bounds()

const Trk::CylinderBounds InDet::TRT_DetElementsRoadMaker_xk::get_bounds ( const EventContext &  ctx) const
inlineprivate

Definition at line 149 of file TRT_DetElementsRoadMaker_xk.h.

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

◆ getBound()

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

Definition at line 548 of file TRT_DetElementsRoadMaker_xk.cxx.

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

◆ getLayers()

const TRT_DetElementsLayerVectors_xk* InDet::TRT_DetElementsRoadMaker_xk::getLayers ( const EventContext &  ctx) const
inlineprivate

Definition at line 140 of file TRT_DetElementsRoadMaker_xk.h.

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

◆ getTRTMinR()

double InDet::TRT_DetElementsRoadMaker_xk::getTRTMinR ( const EventContext &  ctx) const
inlineprivate

Definition at line 158 of file TRT_DetElementsRoadMaker_xk.h.

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

◆ initialize()

StatusCode InDet::TRT_DetElementsRoadMaker_xk::initialize ( )
overridevirtual

Implements InDet::ITRT_DetElementsRoadMaker.

Definition at line 59 of file TRT_DetElementsRoadMaker_xk.cxx.

60 {
62  if(m_fieldmode == "NoField") m_fieldModeEnum = Trk::NoField;
63  else if(m_fieldmode == "MapSolenoid") m_fieldModeEnum = Trk::FastField;
65  // Get propagator tool
66  ATH_CHECK (m_proptool.retrieve());
67  ATH_MSG_DEBUG("Retrieved tool " << m_proptool);
68  ATH_CHECK(m_roadDataKey.initialize());
70 
71  return sc;
72 }

◆ 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 535 of file TRT_DetElementsRoadMaker_xk.cxx.

537 {
538  Amg::Vector3D R = de->center();
539  Amg::Vector3D A = de->normal();
540  double D = a.x()*A.x()+a.y()*A.y()+a.z()*A.z(); if(D==0.) return D;
541  return ((A.x()*(R.x()-r.x())+A.y()*(R.y()-r.y())+A.z()*(R.z()-r.z()))/D);
542 }

◆ 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 102 of file TRT_DetElementsRoadMaker_xk.h.

◆ m_fieldmode

StringProperty InDet::TRT_DetElementsRoadMaker_xk::m_fieldmode
private
Initial value:
{this, "MagneticFieldMode", "MapSolenoid",
"Mode of magnetic field"}

Definition at line 112 of file TRT_DetElementsRoadMaker_xk.h.

◆ m_fieldModeEnum

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

Definition at line 114 of file TRT_DetElementsRoadMaker_xk.h.

◆ m_proptool

PublicToolHandle<Trk::IPropagator> InDet::TRT_DetElementsRoadMaker_xk::m_proptool
private
Initial value:
{this, "PropagatorTool",
"Trk::RungeKuttaPropagator/InDetPropagator"}

Definition at line 105 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 99 of file TRT_DetElementsRoadMaker_xk.h.

◆ m_step

DoubleProperty InDet::TRT_DetElementsRoadMaker_xk::m_step {this, "MaxStep", 20., "Max step allowed"}
private

Definition at line 110 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

FloatProperty InDet::TRT_DetElementsRoadMaker_xk::m_width
private
Initial value:
{this, "RoadWidth", 10.,
"Width of the roadInnerDetector/InDetRecTools/"}

Definition at line 108 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
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
InDet::TRT_DetElementsRoadMaker_xk::dumpConditions
MsgStream & dumpConditions(MsgStream &out) const
Definition: TRT_DetElementsRoadMaker_xk.cxx:96
beamspotman.r
def r
Definition: beamspotman.py:676
MCP::DetectorType::CB
@ CB
Definition: EnumDef.h:37
ReadCellNoiseFromCoolCompare.s1
s1
Definition: ReadCellNoiseFromCoolCompare.py:378
checkxAOD.ds
ds
Definition: Tools/PyUtils/bin/checkxAOD.py:260
python.tests.PyTestsLib.finalize
def finalize(self)
_info( "content of StoreGate..." ) self.sg.dump()
Definition: PyTestsLib.py:50
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
InDet::TRT_DetElementsRoadMaker_xk::m_proptool
PublicToolHandle< Trk::IPropagator > m_proptool
Definition: TRT_DetElementsRoadMaker_xk.h:105
get_generator_info.result
result
Definition: get_generator_info.py:21
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
Trk::MagneticFieldProperties
Definition: MagneticFieldProperties.h:31
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:169
AthCommonDataStore::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
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
InDet::TRT_DetElementsRoadMaker_xk::getTRTMinR
double getTRTMinR(const EventContext &ctx) const
Definition: TRT_DetElementsRoadMaker_xk.h:158
AthCommonMsg< AlgTool >::msgLvl
bool msgLvl(const MSG::Level lvl) const
Definition: AthCommonMsg.h:30
UploadAMITag.l
list l
Definition: UploadAMITag.larcaf.py:158
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
InDet::TRT_DetElementsLayerVectors_xk
std::vector< std::vector< InDet::TRT_DetElementsLayer_xk > > TRT_DetElementsLayerVectors_xk
Definition: TRT_DetElementsLayerVectors_xk.h:16
JetTiledMap::S
@ S
Definition: TiledEtaPhiMap.h:44
empty
bool empty(TH1 *h)
Definition: computils.cxx:295
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:114
InDet::TRT_DetElementsRoadMaker_xk::m_roadDataKey
SG::ReadCondHandleKey< TRT_DetElementsRoadData_xk > m_roadDataKey
Definition: TRT_DetElementsRoadMaker_xk.h:99
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:29
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
InDet::TRT_DetElementsRoadMaker_xk::m_step
DoubleProperty m_step
Definition: TRT_DetElementsRoadMaker_xk.h:110
Amg::z
@ z
Definition: GeoPrimitives.h:36
A
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
AthCommonDataStore
Definition: AthCommonDataStore.h:52
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
lumiFormat.i
int i
Definition: lumiFormat.py:85
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:169
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
Preparation.mode
mode
Definition: Preparation.py:94
hist_file_dump.f
f
Definition: hist_file_dump.py:135
AnalysisUtils::Delta::R
double R(const INavigable4Momentum *p1, const double v_eta, const double v_phi)
Definition: AnalysisMisc.h:49
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::detElementsRoadATL
void detElementsRoadATL(std::deque< Amg::Vector3D > &, std::vector< const InDetDD::TRT_BaseElement * > &, InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap &used, const EventContext &ctx) const
Definition: TRT_DetElementsRoadMaker_xk.cxx:303
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
InDet::TRT_DetElementsRoadMaker_xk::m_fieldmode
StringProperty m_fieldmode
Definition: TRT_DetElementsRoadMaker_xk.h:112
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:228
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
InDet::TRT_DetElementsRoadMaker_xk::m_width
FloatProperty m_width
Definition: TRT_DetElementsRoadMaker_xk.h:108
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
a
TList * a
Definition: liststreamerinfos.cxx:10
h
InDet::TRT_DetElementsRoadMaker_xk::getBound
Trk::CylinderBounds getBound(MagField::AtlasFieldCache &fieldCache, const Trk::TrackParameters &, const EventContext &ctx) const
Definition: TRT_DetElementsRoadMaker_xk.cxx:549
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:623
InDet::TRT_DetElementsRoadMaker_xk::getLayers
const TRT_DetElementsLayerVectors_xk * getLayers(const EventContext &ctx) const
Definition: TRT_DetElementsRoadMaker_xk.h:140
InDet::TRT_DetElementsRoadMaker_xk::get_bounds
const Trk::CylinderBounds get_bounds(const EventContext &ctx) const
Definition: TRT_DetElementsRoadMaker_xk.h:149
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
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:102
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.