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

#include <ExtrapolationValidation.h>

Inheritance diagram for Trk::ExtrapolationValidation:
Collaboration diagram for Trk::ExtrapolationValidation:

Public Member Functions

 ExtrapolationValidation (const std::string &name, ISvcLocator *pSvcLocator)
 Standard Athena-Algorithm Constructor. More...
 
 ~ExtrapolationValidation ()
 Default Destructor. More...
 
StatusCode initialize ()
 standard Athena-Algorithm method More...
 
StatusCode execute ()
 standard Athena-Algorithm method More...
 
StatusCode finalize ()
 standard Athena-Algorithm method More...
 
virtual StatusCode sysInitialize () override
 Override sysInitialize. More...
 
virtual const DataObjIDColl & extraOutputDeps () const override
 Return the list of extra output dependencies. More...
 
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & evtStore () const
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. More...
 
virtual StatusCode 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
 

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

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 Amg::Transform3D createTransform (double x, double y, double z, double phi=0., double theta=0., double alphaZ=0.)
 private helper method to create a HepTransform More...
 

Private Attributes

const TrackingVolumem_highestVolume
 the highest volume More...
 
ToolHandle< IExtrapolatorm_extrapolator
 The Extrapolator to be retrieved. More...
 
Rndm::Numbers * m_gaussDist
 Random Number setup. More...
 
Rndm::Numbers * m_flatDist
 
bool m_materialCollectionValidation
 run the material collection More...
 
bool m_direct
 
TTree * m_validationTree
 Root Validation Tree. More...
 
std::string m_validationTreeName
 validation tree name - to be acessed by this from root More...
 
std::string m_validationTreeDescription
 validation tree description - second argument in TTree More...
 
std::string m_validationTreeFolder
 stream/folder to for the TTree to be written out More...
 
double m_maximumR
 maximum R of the highest More...
 
double m_maximumZ
 maximum halfZ of the highest tracking volume More...
 
double m_sigmaLoc
 local sigma of start value More...
 
double m_sigmaR
 r sigma of start value More...
 
double m_sigmaZ
 Z sigma of start value. More...
 
double m_minEta
 Minimal eta value. More...
 
double m_maxEta
 Maximal eta value. More...
 
double m_minP
 Minimal p value. More...
 
double m_maxP
 Maximal p value. More...
 
int m_particleType
 the particle typre for the extrap. More...
 
int m_parameters
 maximum 3 : start - destination - backward More...
 
float m_parameterLoc1 [TRKEXALGS_MAXPARAMETERS]
 start local 1 More...
 
float m_parameterLoc2 [TRKEXALGS_MAXPARAMETERS]
 start local 2 More...
 
float m_parameterPhi [TRKEXALGS_MAXPARAMETERS]
 start phi More...
 
float m_parameterTheta [TRKEXALGS_MAXPARAMETERS]
 start theta More...
 
float m_parameterEta [TRKEXALGS_MAXPARAMETERS]
 start eta More...
 
float m_parameterQoverP [TRKEXALGS_MAXPARAMETERS]
 start qOverP More...
 
float m_covarianceLoc1 [TRKEXALGS_MAXPARAMETERS]
 start local 1 More...
 
float m_covarianceLoc2 [TRKEXALGS_MAXPARAMETERS]
 start local 2 More...
 
float m_covariancePhi [TRKEXALGS_MAXPARAMETERS]
 start phi More...
 
float m_covarianceTheta [TRKEXALGS_MAXPARAMETERS]
 start theta More...
 
float m_covarianceQoverP [TRKEXALGS_MAXPARAMETERS]
 start qOverP More...
 
float m_covarianceDeterminant [TRKEXALGS_MAXPARAMETERS]
 start qOverP More...
 
int m_destinationSurfaceType
 destination surface type More...
 
float m_startX
 startX More...
 
float m_startY
 startX More...
 
float m_startR
 startX More...
 
float m_startZ
 startX More...
 
float m_startP
 startP More...
 
float m_estimationX
 estimation in X More...
 
float m_estimationY
 estimation in Y More...
 
float m_estimationR
 estimation in R More...
 
float m_estimationZ
 estimation in Z More...
 
float m_destinationX
 destination in X More...
 
float m_destinationY
 destination in Y More...
 
float m_destinationR
 destination in R More...
 
float m_destinationZ
 destination in Z More...
 
unsigned int m_triesFront
 events front More...
 
unsigned int m_breaksFront
 breaks front More...
 
unsigned int m_triesBack
 events back More...
 
unsigned int m_breaksBack
 breaks More...
 
unsigned int m_collectedLayerFront
 collected material layers forward More...
 
unsigned int m_collectedLayerBack
 collected material layers backwards More...
 
DataObjIDColl m_extendedExtraObjects
 
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

The ExtrapolationValidation Algorithm runs a number of n test extrapolations from randomly distributed Track Parameters to randombly distributed reference surfcas within

and backwards.

It is the TestAlgorithm for 'the' Extrapolator instance provided to client algorithms.

Author
Andreas Salzburger Andre.nosp@m.as.S.nosp@m.alzbu.nosp@m.rger.nosp@m.@cern.nosp@m..ch

Definition at line 55 of file ExtrapolationValidation.h.

Member Typedef Documentation

◆ StoreGateSvc_t

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

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ ExtrapolationValidation()

Trk::ExtrapolationValidation::ExtrapolationValidation ( const std::string &  name,
ISvcLocator *  pSvcLocator 
)

Standard Athena-Algorithm Constructor.

Definition at line 29 of file ExtrapolationValidation.cxx.

30  :
31  AthAlgorithm(name,pSvcLocator),
32  m_highestVolume(nullptr),
33  m_extrapolator("Trk::Extrapolator/AtlasExtrapolator"),
34  m_gaussDist(nullptr),
35  m_flatDist(nullptr),
37  m_direct(false),
38  m_validationTree(nullptr),
39  m_validationTreeName("ExtrapolationValidation"),
40  m_validationTreeDescription("Output of the ExtrapolationValidation Algorithm"),
41  m_validationTreeFolder("/val/ExtrapolationValidation"),
42  m_maximumR(0.),
43  m_maximumZ(0.),
47  m_minEta(-3.),
48  m_maxEta(3.),
51  m_particleType(2),
52  m_parameters(0),
53  m_parameterLoc1{},
54  m_parameterLoc2{},
55  m_parameterPhi{},
57  m_parameterEta{},
61  m_covariancePhi{},
66  m_startX{},
67  m_startY{},
68  m_startR{},
69  m_startZ{},
70  m_startP{},
71  m_estimationX(0.),
72  m_estimationY(0.),
73  m_estimationR(0.),
74  m_estimationZ(0.),
75  m_destinationX(0.),
76  m_destinationY(0.),
77  m_destinationR(0.),
78  m_destinationZ(0.),
79  m_triesFront(0),
80  m_breaksFront(0),
81  m_triesBack(0),
82  m_breaksBack(0),
85 {
86  // used algorithms and alg tools
87  declareProperty("Extrapolator", m_extrapolator);
88  declareProperty("ValidateMaterialCollection", m_materialCollectionValidation);
89  declareProperty("ExtrapolateDirectly", m_direct);
90  // TTree handling
91  declareProperty("ValidationTreeName", m_validationTreeName);
92  declareProperty("ValidationTreeDescription", m_validationTreeDescription);
93  declareProperty("ValidationTreeFolder", m_validationTreeFolder);
94  // algorithm steering
95  declareProperty("StartPerigeeSigmaLoc" , m_sigmaLoc);
96  declareProperty("StartPerigeeSigmaR" , m_sigmaR);
97  declareProperty("StartPerigeeSigmaZ" , m_sigmaZ);
98  declareProperty("StartPerigeeMinEta" , m_minEta);
99  declareProperty("StartPerigeeMaxEta" , m_maxEta);
100  declareProperty("StartPerigeeMinP" , m_minP);
101  declareProperty("StartPerigeeMaxP" , m_maxP);
102  declareProperty("ParticleType" , m_particleType);
103 
104 }

◆ ~ExtrapolationValidation()

Trk::ExtrapolationValidation::~ExtrapolationValidation ( )

Default Destructor.

Definition at line 108 of file ExtrapolationValidation.cxx.

109 {
110  // clear random number generators
111  delete m_gaussDist;
112  delete m_flatDist;
113 }

Member Function Documentation

◆ createTransform()

Amg::Transform3D Trk::ExtrapolationValidation::createTransform ( double  x,
double  y,
double  z,
double  phi = 0.,
double  theta = 0.,
double  alphaZ = 0. 
)
staticprivate

private helper method to create a HepTransform

Definition at line 566 of file ExtrapolationValidation.cxx.

567 {
568 
569  if (phi!=0. && theta != 0.){
570  // create the Start Surface
571  Amg::Vector3D surfacePosition(x,y,z);
572  // z direction
573  Amg::Vector3D surfaceZdirection(cos(phi)*sin(theta),
574  sin(phi)*sin(theta),
575  cos(theta));
576  // the global z axis
577  Amg::Vector3D zAxis(0.,0.,1.);
578  // the y direction
579  Amg::Vector3D surfaceYdirection(zAxis.cross(surfaceZdirection));
580  // the x direction
581  Amg::Vector3D surfaceXdirection(surfaceYdirection.cross(surfaceZdirection));
582 
583  double nx = 1./sqrt(surfaceXdirection[0]*surfaceXdirection[0]+surfaceXdirection[1]*surfaceXdirection[1]+surfaceXdirection[2]*surfaceXdirection[2]);
584  double ny = 1./sqrt(surfaceYdirection[0]*surfaceYdirection[0]+surfaceYdirection[1]*surfaceYdirection[1]+surfaceYdirection[2]*surfaceYdirection[2]);
585  surfaceXdirection[0]*=nx;
586  surfaceXdirection[1]*=nx;
587  surfaceXdirection[2]*=nx;
588 
589  surfaceYdirection[0]*=ny;
590  surfaceYdirection[1]*=ny;
591  surfaceYdirection[2]*=ny;
592  // the rotation
593  Amg::RotationMatrix3D surfaceRotation;
594  surfaceRotation.col(0) = surfaceXdirection;
595  surfaceRotation.col(1) = surfaceYdirection;
596  surfaceRotation.col(2) = surfaceZdirection;
597  // return it
598  if (alphaZ==0.)
599  return Amg::Transform3D(surfaceRotation, surfacePosition);
600  Amg::Transform3D nominalTransform(surfaceRotation, surfacePosition);
601  return Amg::Transform3D(nominalTransform*Amg::AngleAxis3D(alphaZ,zAxis));
602 
603  }
604 
606 }

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::declareProperty ( Gaudi::Property< T > &  t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

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

◆ detStore()

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

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

Definition at line 95 of file AthCommonDataStore.h.

95 { return m_detStore; }

◆ evtStore() [1/2]

ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< Algorithm > >::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< Algorithm > >::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; }

◆ execute()

StatusCode Trk::ExtrapolationValidation::execute ( )

standard Athena-Algorithm method

Definition at line 206 of file ExtrapolationValidation.cxx.

207 {
208  const EventContext& ctx = Gaudi::Hive::currentContext();
209  // get the overall dimensions
210  if (!m_highestVolume){
211  // get TrackingGeometry and highest volume
212  const Trk::TrackingGeometry* trackingGeometry = m_extrapolator->trackingGeometry();
213  m_highestVolume = trackingGeometry ? trackingGeometry->highestTrackingVolume() : nullptr;
214  const Trk::CylinderVolumeBounds* cylBounds = m_highestVolume ?
215  dynamic_cast<const Trk::CylinderVolumeBounds*>(&(m_highestVolume->volumeBounds())) : nullptr;
216  // bail out
217  if (!cylBounds){
218  ATH_MSG_WARNING("No highest TrackingVolume / no VolumeBounds ... pretty useless! ");
219  return StatusCode::SUCCESS;
220  }
221  // get the numbers
222  m_maximumR = cylBounds->outerRadius();
223  m_maximumZ = cylBounds->halflengthZ();
224  }
225 
226  // intialize the values
227  m_parameters = 0;
229  // -----------> start
230  m_startX = 0.;
231  m_startY = 0.;
232  m_startR = 0.;
233  m_startZ = 0.;
234  // -----------> estimation
235  m_estimationX = 0.;
236  m_estimationY = 0.;
237  m_estimationR = 0.;
238  m_estimationZ = 0.;
239  // -----------> destination
240  m_destinationX = 0.;
241  m_destinationY = 0.;
242  m_destinationR = 0.;
243  m_destinationZ = 0.;
244 
245  // the local start parameters
248  // are adopted for planar and straight line surfaces
250  m_parameterPhi[m_parameters] *= (m_flatDist->shoot() > 0.5 ) ? -1. : 1.;
253 
254 
259 
260  // this is fine
261  double p = m_minP + m_flatDist->shoot()*(m_maxP-m_minP);
262  double charge = (m_flatDist->shoot() > 0.5 ) ? -1. : 1.;
264 
266 
267  // for the momentum logging
268  m_startP = p;
269 
270  // start
271  m_startR = fabs(m_sigmaR * m_gaussDist->shoot());
272  double surfacePhi = M_PI * m_flatDist->shoot();
273  surfacePhi *= (m_flatDist->shoot() > 0.5 ) ? -1. : 1.;
274  m_startX = m_startR*cos(surfacePhi);
275  m_startY = m_startR*sin(surfacePhi);
276  m_startZ = m_sigmaZ * m_gaussDist->shoot();
277 
278  // rotate it around Z
279  double alphaZ = M_PI * m_flatDist->shoot();
280  alphaZ *= (m_flatDist->shoot() > 0.5 ) ? -1. : 1.;
281 
282  // create the plane surface
284  m_startY,
285  m_startZ,
288  alphaZ),
289  10e3,10e3);
290 
291 
292 
293  AmgSymMatrix(5) covariance;
294  covariance.setZero();
296  covariance(0,0) = m_covarianceLoc1[m_parameters];
298  covariance(1,1) = m_covarianceLoc2[m_parameters];
300  covariance(2,2) = m_covariancePhi[m_parameters];
302  covariance(3,3) = m_covarianceTheta[m_parameters];
304  covariance(4,4) = m_covarianceQoverP[m_parameters];
305  ATH_MSG_VERBOSE("Initial Setting: \n"<<covariance);
306 
307 
308  m_covarianceDeterminant[m_parameters] = covariance.determinant();
309 
310  // the initial perigee with random numbers
311  Trk::AtaPlane startParameters(m_parameterLoc1[m_parameters],
316  startSurface,
317  std::move(covariance));
318 
319  ATH_MSG_VERBOSE( "Start Parameters : " << startParameters );
320  if(startParameters.covariance())ATH_MSG_VERBOSE( "Start Covariance : \n" << *startParameters.covariance() );
321 
322 
323  // destination position
324  m_estimationR = m_maximumR * m_flatDist->shoot();
325 
326  // --------------- propagate to find a first intersection ---------------------
327  Amg::Transform3D CylTrf;
328  CylTrf.setIdentity();
329  Trk::CylinderSurface estimationCylinder(CylTrf, m_estimationR, 10e10);
330  const Trk::TrackParameters* estimationParameters = m_extrapolator->extrapolateDirectly(ctx,
331  startParameters,
332  estimationCylinder,
334  false).release();
335  if (!estimationParameters) {
336  ATH_MSG_VERBOSE( "Estimation of intersection did not work - skip event !" );
337  return StatusCode::SUCCESS;
338  }
339  else if (m_highestVolume && estimationParameters && !(m_highestVolume->inside(estimationParameters->position()))){
340  ATH_MSG_VERBOSE( "Estimation of intersection is outside the known world - skip event !" );
341  delete estimationParameters;
342  return StatusCode::SUCCESS;
343  }
344 
345  ATH_MSG_VERBOSE( "Estimation Parameters: " << *estimationParameters );
346 
347  // record the estimation parameters
348  ++m_triesFront;
349  ++m_parameters;
350  m_parameterLoc1[m_parameters] = estimationParameters->parameters()[Trk::loc1];
351  m_parameterLoc2[m_parameters] = estimationParameters->parameters()[Trk::loc2];
352  m_parameterPhi[m_parameters] = estimationParameters->parameters()[Trk::phi];
353  m_parameterEta[m_parameters] = estimationParameters->eta();
354  m_parameterTheta[m_parameters] = estimationParameters->parameters()[Trk::theta];
355  m_parameterQoverP[m_parameters] = estimationParameters->parameters()[Trk::qOverP];
356  if(estimationParameters->covariance()){
357  m_covarianceLoc1[m_parameters] = (*estimationParameters->covariance())(0,0);
358  m_covarianceLoc2[m_parameters] = (*estimationParameters->covariance())(1,1);
359  m_covariancePhi[m_parameters] = (*estimationParameters->covariance())(2,2);
360  m_covarianceTheta[m_parameters] = (*estimationParameters->covariance())(3,3);
361  m_covarianceQoverP[m_parameters] = (*estimationParameters->covariance())(4,4);
362  m_covarianceDeterminant[m_parameters] = (estimationParameters->covariance())->determinant();
363  }
364  else{
371  }
372  // the start Momentum
373 
374  // get the estimated position
375  const Amg::Vector3D& estimatedPosition = estimationParameters->position();
376 
377  m_estimationX = estimatedPosition.x();
378  m_estimationY = estimatedPosition.y();
379  m_estimationZ = estimatedPosition.z();
380 
381  // cleanup for memory reasons
382  delete estimationParameters; estimationParameters = nullptr;
383 
384  // create the radom surface at the destination point
389  m_parameterTheta[m_parameters]), 10e5 , 10e5);
390 
391 
392  ATH_MSG_VERBOSE( "Extrapolation to Destination Surface: " << destinationSurface );
393 
394  // the destination parameters
395  const Trk::TrackParameters* destParameters = nullptr;
396  // the standard validation ...
398  destParameters = m_extrapolator->extrapolate(ctx,
399  startParameters,
400  destinationSurface,
402  false,
404  else if(!m_direct){ // material collection validation
405  // get the vector of TrackStateOnSurfaces back
406  const std::vector<const Trk::TrackStateOnSurface*>*
407  collectedMaterial = m_extrapolator->extrapolateM(ctx,
408  startParameters,
409  destinationSurface,
411  false,
413 
414  // get the last one and clone it
415  if (collectedMaterial && !collectedMaterial->empty()){
416  // get the last track state on surface & clone the destination parameters
417  const Trk::TrackStateOnSurface* destinationState = collectedMaterial->back();
418  destParameters = destinationState->trackParameters() ? destinationState->trackParameters()->clone() : nullptr;
419  m_collectedLayerFront += collectedMaterial->size();
420  // delete the layers / cleanup
421  std::vector<const Trk::TrackStateOnSurface*>::const_iterator tsosIter = collectedMaterial->begin();
422  std::vector<const Trk::TrackStateOnSurface*>::const_iterator tsosIterEnd = collectedMaterial->end();
423  for ( ; tsosIter != tsosIterEnd; delete(*tsosIter), ++tsosIter);
424  }
425  }
426 
427  else{
428  destParameters = m_extrapolator->extrapolateDirectly(ctx,
429  startParameters,
430  destinationSurface,
432  false,
434 
435  }
436  // ----------------------- check if forward call was successful and continue then
437  if (destParameters){
438  // successful tries
439  ++m_triesBack;
440  // record the destination parameters
441  ++m_parameters;
442  m_parameterLoc1[m_parameters] = destParameters->parameters()[Trk::loc1];
443  m_parameterLoc2[m_parameters] = destParameters->parameters()[Trk::loc2];
444  m_parameterPhi[m_parameters] = destParameters->parameters()[Trk::phi];
445  m_parameterEta[m_parameters] = destParameters->eta();
446  m_parameterTheta[m_parameters] = destParameters->parameters()[Trk::theta];
447  m_parameterQoverP[m_parameters] = destParameters->parameters()[Trk::qOverP];
448  if(destParameters->covariance()){
449  m_covarianceLoc1[m_parameters] = (*destParameters->covariance())(0,0);
450  m_covarianceLoc2[m_parameters] = (*destParameters->covariance())(1,1);
451  m_covariancePhi[m_parameters] = (*destParameters->covariance())(2,2);
452  m_covarianceTheta[m_parameters] = (*destParameters->covariance())(3,3);
453  m_covarianceQoverP[m_parameters] = (*destParameters->covariance())(4,4);
454  m_covarianceDeterminant[m_parameters] = (destParameters->covariance())->determinant();
455  }
456  else{
463  }
464  // record the destination parameters
465  const Amg::Vector3D& destinationPosition = destParameters->position();
466  m_destinationX = destinationPosition.x();
467  m_destinationY = destinationPosition.y();
468  m_destinationZ = destinationPosition.z();
469  m_destinationR = destinationPosition.perp();
470 
471  // now simply go backwards
472  const Trk::TrackParameters* backParameters = nullptr;
473  // the standard validation ...
475  backParameters = m_extrapolator->extrapolate(ctx,
476  *destParameters,
477  startSurface,
479  false,
481  else if(!m_direct){ // material collection validation
482  // get the vector of TrackStateOnSurfaces back
483  const std::vector<const Trk::TrackStateOnSurface*>*
484  collectedBackMaterial = m_extrapolator->extrapolateM(ctx,
485  *destParameters,
486  startSurface,
488  false,
490  // get the last one and clone it
491  if (collectedBackMaterial && !collectedBackMaterial->empty()){
492  // get the last track state on surface & clone the destination parameters
493  const Trk::TrackStateOnSurface* startState = collectedBackMaterial->back();
494  // assign the last ones of the call
495  backParameters = startState->trackParameters() ? startState->trackParameters()->clone() : nullptr;
496  m_collectedLayerBack += collectedBackMaterial->size();
497  // delete the layers / cleanup
498  std::vector<const Trk::TrackStateOnSurface*>::const_iterator tsosIter = collectedBackMaterial->begin();
499  std::vector<const Trk::TrackStateOnSurface*>::const_iterator tsosIterEnd = collectedBackMaterial->end();
500  for ( ; tsosIter != tsosIterEnd; delete(*tsosIter), ++tsosIter);
501  }
502  }
503 
504  else{
505  backParameters = m_extrapolator->extrapolateDirectly(ctx,
506  *destParameters,
507  startSurface,
509  false,
511 
512  }
513  // ----------------------- check if backward call was successful and continue then
514  if (backParameters){
515 
516  ATH_MSG_VERBOSE( "Back Parameters : " << *backParameters );
517 
518  // record the back extrapolated ones
519  ++m_parameters;
520  m_parameterLoc1[m_parameters] = backParameters->parameters()[Trk::loc1];
521  m_parameterLoc2[m_parameters] = backParameters->parameters()[Trk::loc2];
522  m_parameterPhi[m_parameters] = backParameters->parameters()[Trk::phi];
523  m_parameterEta[m_parameters] = backParameters->eta();
524  m_parameterTheta[m_parameters] = backParameters->parameters()[Trk::theta];
525  m_parameterQoverP[m_parameters] = backParameters->parameters()[Trk::qOverP];
526  if(backParameters->covariance()){
527  m_covarianceLoc1[m_parameters] = (*backParameters->covariance())(0,0);
528  m_covarianceLoc2[m_parameters] = (*backParameters->covariance())(1,1);
529  m_covariancePhi[m_parameters] = (*backParameters->covariance())(2,2);
530  m_covarianceTheta[m_parameters] = (*backParameters->covariance())(3,3);
531  m_covarianceQoverP[m_parameters] = (*backParameters->covariance())(4,4);
532  m_covarianceDeterminant[m_parameters] = (backParameters->covariance())->determinant();
533  }
534  else{
541  }
542  // memory cleanup
543  delete backParameters;
544  } else
545  ++m_breaksBack;
546  // memory cleanup
547  delete destParameters;
548  } else
549  ++m_breaksFront;
550  // increase ones more
551  ++m_parameters;
552  // memory cleanup
553 
554  if (m_validationTree)
555  m_validationTree->Fill();
556 
557 
558  //std::cout<<"Cleaning up..."<<std::endl;
559  //delete covariance;
560 
561  return StatusCode::SUCCESS;
562 }

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::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

◆ extraOutputDeps()

const DataObjIDColl & AthAlgorithm::extraOutputDeps ( ) const
overridevirtualinherited

Return the list of extra output dependencies.

This list is extended to include symlinks implied by inheritance relations.

Definition at line 50 of file AthAlgorithm.cxx.

51 {
52  // If we didn't find any symlinks to add, just return the collection
53  // from the base class. Otherwise, return the extended collection.
54  if (!m_extendedExtraObjects.empty()) {
56  }
57  return Algorithm::extraOutputDeps();
58 }

◆ finalize()

StatusCode Trk::ExtrapolationValidation::finalize ( )

standard Athena-Algorithm method

Definition at line 184 of file ExtrapolationValidation.cxx.

185 {
186  // Code entered here will be executed once at the end of the program run.
187  ATH_MSG_INFO("================== Output Statistics =========================");
188  ATH_MSG_INFO("= Navigation : ");
189  ATH_MSG_INFO("= - breaks fwd : " << double(m_breaksFront)/double(m_triesFront)
190  << " (" << m_breaksFront << "/" << m_triesFront << ")");
191  ATH_MSG_INFO("= - breaks bwd : " << double(m_breaksBack)/double(m_triesBack)
192  << " (" << m_breaksBack << "/" << m_triesBack << ")");
194  ATH_MSG_INFO("= Material collection : ");
195  ATH_MSG_INFO("= - layer collected fwd : " << m_collectedLayerFront );
196  ATH_MSG_INFO("= - layer collected bwd : " << m_collectedLayerBack );
197  }
198 
199  ATH_MSG_INFO("==============================================================");
200 
201  return StatusCode::SUCCESS;
202 }

◆ initialize()

StatusCode Trk::ExtrapolationValidation::initialize ( )

standard Athena-Algorithm method

Definition at line 118 of file ExtrapolationValidation.cxx.

119 {
120  // Code entered here will be executed once at program start.
121  ATH_MSG_INFO( " initialize()" );
122 
123  // Get Extrapolator from ToolService
124  ATH_CHECK( m_extrapolator.retrieve());
125 
126  // create the new Tree
128 
129  // the branches for the parameters
130  m_validationTree->Branch("Parameters", &m_parameters, "params/I");
131  m_validationTree->Branch("ParametersLoc1", m_parameterLoc1, "paramLoc1[params]/F");
132  m_validationTree->Branch("ParametersLoc2", m_parameterLoc2, "paramLoc2[params]/F");
133  m_validationTree->Branch("ParametersPhi", m_parameterPhi, "paramPhi[params]/F");
134  m_validationTree->Branch("ParametersTheta", m_parameterTheta, "paramTheta[params]/F");
135  m_validationTree->Branch("ParametersEta", m_parameterEta, "paramEta[params]/F");
136  m_validationTree->Branch("ParametersQoverP", m_parameterQoverP, "paramQoverP[params]/F");
137  // for the covariance diagonals
138  m_validationTree->Branch("CovarianceLoc1", m_covarianceLoc1, "covLoc1[params]/F");
139  m_validationTree->Branch("CovarianceLoc2", m_covarianceLoc2, "covLoc2[params]/F");
140  m_validationTree->Branch("CovariancePhi", m_covariancePhi, "covPhi[params]/F");
141  m_validationTree->Branch("CovarianceTheta", m_covarianceTheta, "covTheta[params]/F");
142  m_validationTree->Branch("CovarianceQoverP", m_covarianceQoverP, "covQoverP[params]/F");
143  m_validationTree->Branch("CovarianceDeterminant", m_covarianceDeterminant, "covDet[params]/F");
144  // the start Momentum
145  m_validationTree->Branch("StartMomentum", &m_startP, "startP/F");
146  // for the start surface
147  m_validationTree->Branch("StartSurfaceX", &m_startX, "startX/F");
148  m_validationTree->Branch("StartSurfaceY", &m_startY, "startY/F");
149  m_validationTree->Branch("StartSurfaceR", &m_startR, "startR/F");
150  m_validationTree->Branch("StartSurfaceZ", &m_startZ, "startZ/F");
151  // the estimation of the parameters
152  m_validationTree->Branch("EstimationSurfaceX", &m_estimationX, "estimateX/F");
153  m_validationTree->Branch("EstimationSurfaceY", &m_estimationY, "estimateY/F");
154  m_validationTree->Branch("EstimationSurfaceR", &m_estimationR, "estimateR/F");
155  m_validationTree->Branch("EstimationSurfaceZ", &m_estimationZ, "estimateZ/F");
156  // for the surface type
157  m_validationTree->Branch("DestinationSurfaceType", &m_destinationSurfaceType, "surfaceType/I");
158  m_validationTree->Branch("DestinationSurfaceX", &m_destinationX, "surfaceX/F");
159  m_validationTree->Branch("DestinationSurfaceY", &m_destinationY, "surfaceY/F");
160  m_validationTree->Branch("DestinationSurfaceR", &m_destinationR, "surfaceR/F");
161  m_validationTree->Branch("DestinationSurfaceZ", &m_destinationZ, "surfaceZ/F");
162 
163  // now register the Tree
164  SmartIF<ITHistSvc> tHistSvc{service("THistSvc")};
165  if (!tHistSvc){
166  ATH_MSG_ERROR("initialize() Could not find Hist Service -> Switching ValidationMode Off !" );
167  delete m_validationTree; m_validationTree = nullptr;
168  }
169  if ((tHistSvc->regTree(m_validationTreeFolder, m_validationTree)).isFailure()) {
170  ATH_MSG_ERROR("initialize() Could not register the validation Tree -> Switching ValidationMode Off !" );
171  delete m_validationTree; m_validationTree = nullptr;
172  }
173 
174  // intialize the random number generators
175  m_gaussDist = new Rndm::Numbers(randSvc(), Rndm::Gauss(0.,1.));
176  m_flatDist = new Rndm::Numbers(randSvc(), Rndm::Flat(0.,1.));
177 
178  ATH_MSG_INFO( "initialize() successful");
179  return StatusCode::SUCCESS;
180 }

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< Algorithm > >::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.

◆ msg() [1/2]

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

Definition at line 24 of file AthCommonMsg.h.

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

◆ msg() [2/2]

MsgStream& AthCommonMsg< Algorithm >::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< Algorithm >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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  }

◆ sysInitialize()

StatusCode AthAlgorithm::sysInitialize ( )
overridevirtualinherited

Override sysInitialize.

Override sysInitialize from the base class.

Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc

Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc

Reimplemented from AthCommonDataStore< AthCommonMsg< Algorithm > >.

Reimplemented in AthAnalysisAlgorithm, AthFilterAlgorithm, PyAthena::Alg, and AthHistogramAlgorithm.

Definition at line 66 of file AthAlgorithm.cxx.

66  {
68 
69  if (sc.isFailure()) {
70  return sc;
71  }
72  ServiceHandle<ICondSvc> cs("CondSvc",name());
73  for (auto h : outputHandles()) {
74  if (h->isCondition() && h->mode() == Gaudi::DataHandle::Writer) {
75  // do this inside the loop so we don't create the CondSvc until needed
76  if ( cs.retrieve().isFailure() ) {
77  ATH_MSG_WARNING("no CondSvc found: won't autoreg WriteCondHandles");
78  return StatusCode::SUCCESS;
79  }
80  if (cs->regHandle(this,*h).isFailure()) {
81  sc = StatusCode::FAILURE;
82  ATH_MSG_ERROR("unable to register WriteCondHandle " << h->fullKey()
83  << " with CondSvc");
84  }
85  }
86  }
87  return sc;
88 }

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< Algorithm > >::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< Algorithm > >::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_breaksBack

unsigned int Trk::ExtrapolationValidation::m_breaksBack
private

breaks

Definition at line 144 of file ExtrapolationValidation.h.

◆ m_breaksFront

unsigned int Trk::ExtrapolationValidation::m_breaksFront
private

breaks front

Definition at line 142 of file ExtrapolationValidation.h.

◆ m_collectedLayerBack

unsigned int Trk::ExtrapolationValidation::m_collectedLayerBack
private

collected material layers backwards

Definition at line 147 of file ExtrapolationValidation.h.

◆ m_collectedLayerFront

unsigned int Trk::ExtrapolationValidation::m_collectedLayerFront
private

collected material layers forward

Definition at line 146 of file ExtrapolationValidation.h.

◆ m_covarianceDeterminant

float Trk::ExtrapolationValidation::m_covarianceDeterminant[TRKEXALGS_MAXPARAMETERS]
private

start qOverP

Definition at line 121 of file ExtrapolationValidation.h.

◆ m_covarianceLoc1

float Trk::ExtrapolationValidation::m_covarianceLoc1[TRKEXALGS_MAXPARAMETERS]
private

start local 1

Definition at line 116 of file ExtrapolationValidation.h.

◆ m_covarianceLoc2

float Trk::ExtrapolationValidation::m_covarianceLoc2[TRKEXALGS_MAXPARAMETERS]
private

start local 2

Definition at line 117 of file ExtrapolationValidation.h.

◆ m_covariancePhi

float Trk::ExtrapolationValidation::m_covariancePhi[TRKEXALGS_MAXPARAMETERS]
private

start phi

Definition at line 118 of file ExtrapolationValidation.h.

◆ m_covarianceQoverP

float Trk::ExtrapolationValidation::m_covarianceQoverP[TRKEXALGS_MAXPARAMETERS]
private

start qOverP

Definition at line 120 of file ExtrapolationValidation.h.

◆ m_covarianceTheta

float Trk::ExtrapolationValidation::m_covarianceTheta[TRKEXALGS_MAXPARAMETERS]
private

start theta

Definition at line 119 of file ExtrapolationValidation.h.

◆ m_destinationR

float Trk::ExtrapolationValidation::m_destinationR
private

destination in R

Definition at line 137 of file ExtrapolationValidation.h.

◆ m_destinationSurfaceType

int Trk::ExtrapolationValidation::m_destinationSurfaceType
private

destination surface type

Definition at line 123 of file ExtrapolationValidation.h.

◆ m_destinationX

float Trk::ExtrapolationValidation::m_destinationX
private

destination in X

Definition at line 135 of file ExtrapolationValidation.h.

◆ m_destinationY

float Trk::ExtrapolationValidation::m_destinationY
private

destination in Y

Definition at line 136 of file ExtrapolationValidation.h.

◆ m_destinationZ

float Trk::ExtrapolationValidation::m_destinationZ
private

destination in Z

Definition at line 138 of file ExtrapolationValidation.h.

◆ m_detStore

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

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_direct

bool Trk::ExtrapolationValidation::m_direct
private

Definition at line 87 of file ExtrapolationValidation.h.

◆ m_estimationR

float Trk::ExtrapolationValidation::m_estimationR
private

estimation in R

Definition at line 132 of file ExtrapolationValidation.h.

◆ m_estimationX

float Trk::ExtrapolationValidation::m_estimationX
private

estimation in X

Definition at line 130 of file ExtrapolationValidation.h.

◆ m_estimationY

float Trk::ExtrapolationValidation::m_estimationY
private

estimation in Y

Definition at line 131 of file ExtrapolationValidation.h.

◆ m_estimationZ

float Trk::ExtrapolationValidation::m_estimationZ
private

estimation in Z

Definition at line 133 of file ExtrapolationValidation.h.

◆ m_evtStore

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

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extendedExtraObjects

DataObjIDColl AthAlgorithm::m_extendedExtraObjects
privateinherited

Definition at line 79 of file AthAlgorithm.h.

◆ m_extrapolator

ToolHandle<IExtrapolator> Trk::ExtrapolationValidation::m_extrapolator
private

The Extrapolator to be retrieved.

Definition at line 79 of file ExtrapolationValidation.h.

◆ m_flatDist

Rndm::Numbers* Trk::ExtrapolationValidation::m_flatDist
private

Definition at line 83 of file ExtrapolationValidation.h.

◆ m_gaussDist

Rndm::Numbers* Trk::ExtrapolationValidation::m_gaussDist
private

Random Number setup.

Definition at line 82 of file ExtrapolationValidation.h.

◆ m_highestVolume

const TrackingVolume* Trk::ExtrapolationValidation::m_highestVolume
private

the highest volume

Definition at line 76 of file ExtrapolationValidation.h.

◆ m_materialCollectionValidation

bool Trk::ExtrapolationValidation::m_materialCollectionValidation
private

run the material collection

Definition at line 85 of file ExtrapolationValidation.h.

◆ m_maxEta

double Trk::ExtrapolationValidation::m_maxEta
private

Maximal eta value.

Definition at line 102 of file ExtrapolationValidation.h.

◆ m_maximumR

double Trk::ExtrapolationValidation::m_maximumR
private

maximum R of the highest

Definition at line 95 of file ExtrapolationValidation.h.

◆ m_maximumZ

double Trk::ExtrapolationValidation::m_maximumZ
private

maximum halfZ of the highest tracking volume

Definition at line 96 of file ExtrapolationValidation.h.

◆ m_maxP

double Trk::ExtrapolationValidation::m_maxP
private

Maximal p value.

Definition at line 104 of file ExtrapolationValidation.h.

◆ m_minEta

double Trk::ExtrapolationValidation::m_minEta
private

Minimal eta value.

Definition at line 101 of file ExtrapolationValidation.h.

◆ m_minP

double Trk::ExtrapolationValidation::m_minP
private

Minimal p value.

Definition at line 103 of file ExtrapolationValidation.h.

◆ m_parameterEta

float Trk::ExtrapolationValidation::m_parameterEta[TRKEXALGS_MAXPARAMETERS]
private

start eta

Definition at line 113 of file ExtrapolationValidation.h.

◆ m_parameterLoc1

float Trk::ExtrapolationValidation::m_parameterLoc1[TRKEXALGS_MAXPARAMETERS]
private

start local 1

Definition at line 109 of file ExtrapolationValidation.h.

◆ m_parameterLoc2

float Trk::ExtrapolationValidation::m_parameterLoc2[TRKEXALGS_MAXPARAMETERS]
private

start local 2

Definition at line 110 of file ExtrapolationValidation.h.

◆ m_parameterPhi

float Trk::ExtrapolationValidation::m_parameterPhi[TRKEXALGS_MAXPARAMETERS]
private

start phi

Definition at line 111 of file ExtrapolationValidation.h.

◆ m_parameterQoverP

float Trk::ExtrapolationValidation::m_parameterQoverP[TRKEXALGS_MAXPARAMETERS]
private

start qOverP

Definition at line 114 of file ExtrapolationValidation.h.

◆ m_parameters

int Trk::ExtrapolationValidation::m_parameters
private

maximum 3 : start - destination - backward

Definition at line 108 of file ExtrapolationValidation.h.

◆ m_parameterTheta

float Trk::ExtrapolationValidation::m_parameterTheta[TRKEXALGS_MAXPARAMETERS]
private

start theta

Definition at line 112 of file ExtrapolationValidation.h.

◆ m_particleType

int Trk::ExtrapolationValidation::m_particleType
private

the particle typre for the extrap.

Definition at line 106 of file ExtrapolationValidation.h.

◆ m_sigmaLoc

double Trk::ExtrapolationValidation::m_sigmaLoc
private

local sigma of start value

Definition at line 98 of file ExtrapolationValidation.h.

◆ m_sigmaR

double Trk::ExtrapolationValidation::m_sigmaR
private

r sigma of start value

Definition at line 99 of file ExtrapolationValidation.h.

◆ m_sigmaZ

double Trk::ExtrapolationValidation::m_sigmaZ
private

Z sigma of start value.

Definition at line 100 of file ExtrapolationValidation.h.

◆ m_startP

float Trk::ExtrapolationValidation::m_startP
private

startP

Definition at line 128 of file ExtrapolationValidation.h.

◆ m_startR

float Trk::ExtrapolationValidation::m_startR
private

startX

Definition at line 126 of file ExtrapolationValidation.h.

◆ m_startX

float Trk::ExtrapolationValidation::m_startX
private

startX

Definition at line 124 of file ExtrapolationValidation.h.

◆ m_startY

float Trk::ExtrapolationValidation::m_startY
private

startX

Definition at line 125 of file ExtrapolationValidation.h.

◆ m_startZ

float Trk::ExtrapolationValidation::m_startZ
private

startX

Definition at line 127 of file ExtrapolationValidation.h.

◆ m_triesBack

unsigned int Trk::ExtrapolationValidation::m_triesBack
private

events back

Definition at line 143 of file ExtrapolationValidation.h.

◆ m_triesFront

unsigned int Trk::ExtrapolationValidation::m_triesFront
private

events front

Definition at line 141 of file ExtrapolationValidation.h.

◆ m_validationTree

TTree* Trk::ExtrapolationValidation::m_validationTree
private

Root Validation Tree.

Definition at line 89 of file ExtrapolationValidation.h.

◆ m_validationTreeDescription

std::string Trk::ExtrapolationValidation::m_validationTreeDescription
private

validation tree description - second argument in TTree

Definition at line 92 of file ExtrapolationValidation.h.

◆ m_validationTreeFolder

std::string Trk::ExtrapolationValidation::m_validationTreeFolder
private

stream/folder to for the TTree to be written out

Definition at line 93 of file ExtrapolationValidation.h.

◆ m_validationTreeName

std::string Trk::ExtrapolationValidation::m_validationTreeName
private

validation tree name - to be acessed by this from root

Definition at line 91 of file ExtrapolationValidation.h.

◆ m_varHandleArraysDeclared

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

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

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

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files:
Trk::y
@ y
Definition: ParamDefs.h:56
Trk::TrackStateOnSurface::trackParameters
const TrackParameters * trackParameters() const
return ptr to trackparameters const overload
Trk::ExtrapolationValidation::m_sigmaR
double m_sigmaR
r sigma of start value
Definition: ExtrapolationValidation.h:99
Trk::ExtrapolationValidation::m_direct
bool m_direct
Definition: ExtrapolationValidation.h:87
GeV
#define GeV
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/Root/HelperFunctions.cxx:17
Trk::z
@ z
global position (cartesian)
Definition: ParamDefs.h:57
MuonR4::SegmentFit::Parameters
AmgVector(toInt(ParamDefs::nPars)) Parameters
Definition: MuonHoughDefs.h:48
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
PlotCalibFromCool.zAxis
zAxis
Definition: PlotCalibFromCool.py:76
Trk::ExtrapolationValidation::m_covariancePhi
float m_covariancePhi[TRKEXALGS_MAXPARAMETERS]
start phi
Definition: ExtrapolationValidation.h:118
Trk::Volume::inside
bool inside(const Amg::Vector3D &gp, double tol=0.) const
Inside() method for checks.
Definition: Volume.cxx:90
Trk::ParametersBase::position
const Amg::Vector3D & position() const
Access method for the position.
Trk::oppositeMomentum
@ oppositeMomentum
Definition: PropDirection.h:21
Trk::ExtrapolationValidation::m_estimationX
float m_estimationX
estimation in X
Definition: ExtrapolationValidation.h:130
AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
Trk::ExtrapolationValidation::m_triesBack
unsigned int m_triesBack
events back
Definition: ExtrapolationValidation.h:143
Trk::ExtrapolationValidation::m_covarianceDeterminant
float m_covarianceDeterminant[TRKEXALGS_MAXPARAMETERS]
start qOverP
Definition: ExtrapolationValidation.h:121
Trk::ExtrapolationValidation::m_parameterLoc2
float m_parameterLoc2[TRKEXALGS_MAXPARAMETERS]
start local 2
Definition: ExtrapolationValidation.h:110
Trk::ExtrapolationValidation::m_collectedLayerFront
unsigned int m_collectedLayerFront
collected material layers forward
Definition: ExtrapolationValidation.h:146
Trk::ExtrapolationValidation::m_estimationR
float m_estimationR
estimation in R
Definition: ExtrapolationValidation.h:132
M_PI
#define M_PI
Definition: ActiveFraction.h:11
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
Trk::loc2
@ loc2
generic first and second local coordinate
Definition: ParamDefs.h:35
Trk::ExtrapolationValidation::m_minEta
double m_minEta
Minimal eta value.
Definition: ExtrapolationValidation.h:101
Trk::ExtrapolationValidation::m_destinationX
float m_destinationX
destination in X
Definition: ExtrapolationValidation.h:135
Trk::alongMomentum
@ alongMomentum
Definition: PropDirection.h:20
Trk::ExtrapolationValidation::m_parameterPhi
float m_parameterPhi[TRKEXALGS_MAXPARAMETERS]
start phi
Definition: ExtrapolationValidation.h:111
Trk::ExtrapolationValidation::m_triesFront
unsigned int m_triesFront
events front
Definition: ExtrapolationValidation.h:141
Trk::ExtrapolationValidation::m_highestVolume
const TrackingVolume * m_highestVolume
the highest volume
Definition: ExtrapolationValidation.h:76
Trk::ExtrapolationValidation::m_flatDist
Rndm::Numbers * m_flatDist
Definition: ExtrapolationValidation.h:83
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
drawFromPickle.cos
cos
Definition: drawFromPickle.py:36
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
drawFromPickle.exp
exp
Definition: drawFromPickle.py:36
Trk::ExtrapolationValidation::m_validationTree
TTree * m_validationTree
Root Validation Tree.
Definition: ExtrapolationValidation.h:89
Trk::ExtrapolationValidation::m_parameterTheta
float m_parameterTheta[TRKEXALGS_MAXPARAMETERS]
start theta
Definition: ExtrapolationValidation.h:112
Trk::ExtrapolationValidation::m_destinationY
float m_destinationY
destination in Y
Definition: ExtrapolationValidation.h:136
drawFromPickle.atan
atan
Definition: drawFromPickle.py:36
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
Trk::ExtrapolationValidation::m_destinationR
float m_destinationR
destination in R
Definition: ExtrapolationValidation.h:137
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:27
Trk::ExtrapolationValidation::m_minP
double m_minP
Minimal p value.
Definition: ExtrapolationValidation.h:103
Trk::ExtrapolationValidation::createTransform
static Amg::Transform3D createTransform(double x, double y, double z, double phi=0., double theta=0., double alphaZ=0.)
private helper method to create a HepTransform
Definition: ExtrapolationValidation.cxx:566
Trk::AmgSymMatrix
AmgSymMatrix(5) &GXFTrackState
Definition: GXFTrackState.h:156
Trk::ParticleHypothesis
ParticleHypothesis
Definition: ParticleHypothesis.h:25
Trk::ExtrapolationValidation::m_estimationZ
float m_estimationZ
estimation in Z
Definition: ExtrapolationValidation.h:133
Trk::TrackingGeometry::highestTrackingVolume
const TrackingVolume * highestTrackingVolume() const
return the world
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
python.SystemOfUnits.millimeter
int millimeter
Definition: SystemOfUnits.py:53
Trk::ExtrapolationValidation::m_destinationSurfaceType
int m_destinationSurfaceType
destination surface type
Definition: ExtrapolationValidation.h:123
AthCommonDataStore
Definition: AthCommonDataStore.h:52
AthAlgorithm::sysInitialize
virtual StatusCode sysInitialize() override
Override sysInitialize.
Definition: AthAlgorithm.cxx:66
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
CheckAppliedSFs.e3
e3
Definition: CheckAppliedSFs.py:264
AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
Trk::ExtrapolationValidation::m_sigmaZ
double m_sigmaZ
Z sigma of start value.
Definition: ExtrapolationValidation.h:100
beamspotman.n
n
Definition: beamspotman.py:731
Trk::theta
@ theta
Definition: ParamDefs.h:66
Trk::TrackingGeometry
Definition: TrackingGeometry.h:67
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Trk::ExtrapolationValidation::m_maximumZ
double m_maximumZ
maximum halfZ of the highest tracking volume
Definition: ExtrapolationValidation.h:96
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
Trk::CylinderVolumeBounds::halflengthZ
double halflengthZ() const
This method returns the halflengthZ.
Definition: CylinderVolumeBounds.h:207
Trk::ExtrapolationValidation::m_covarianceLoc2
float m_covarianceLoc2[TRKEXALGS_MAXPARAMETERS]
start local 2
Definition: ExtrapolationValidation.h:117
Trk::ExtrapolationValidation::m_validationTreeDescription
std::string m_validationTreeDescription
validation tree description - second argument in TTree
Definition: ExtrapolationValidation.h:92
Trk::ExtrapolationValidation::m_gaussDist
Rndm::Numbers * m_gaussDist
Random Number setup.
Definition: ExtrapolationValidation.h:82
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
Trk::ExtrapolationValidation::m_breaksFront
unsigned int m_breaksFront
breaks front
Definition: ExtrapolationValidation.h:142
Trk::ExtrapolationValidation::m_sigmaLoc
double m_sigmaLoc
local sigma of start value
Definition: ExtrapolationValidation.h:98
Trk::ExtrapolationValidation::m_validationTreeFolder
std::string m_validationTreeFolder
stream/folder to for the TTree to be written out
Definition: ExtrapolationValidation.h:93
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
Trk::ParametersBase
Definition: ParametersBase.h:55
python.SystemOfUnits.micrometer
int micrometer
Definition: SystemOfUnits.py:71
Trk::ExtrapolationValidation::m_parameterQoverP
float m_parameterQoverP[TRKEXALGS_MAXPARAMETERS]
start qOverP
Definition: ExtrapolationValidation.h:114
Trk::ExtrapolationValidation::m_maxP
double m_maxP
Maximal p value.
Definition: ExtrapolationValidation.h:104
Trk::ExtrapolationValidation::m_startX
float m_startX
startX
Definition: ExtrapolationValidation.h:124
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::ExtrapolationValidation::m_parameters
int m_parameters
maximum 3 : start - destination - backward
Definition: ExtrapolationValidation.h:108
Trk::ExtrapolationValidation::m_startR
float m_startR
startX
Definition: ExtrapolationValidation.h:126
Trk::CylinderVolumeBounds
Definition: CylinderVolumeBounds.h:70
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::ExtrapolationValidation::m_covarianceTheta
float m_covarianceTheta[TRKEXALGS_MAXPARAMETERS]
start theta
Definition: ExtrapolationValidation.h:119
Amg
Definition of ATLAS Math & Geometry primitives (Amg)
Definition: AmgStringHelpers.h:19
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
Trk::TrackStateOnSurface
represents the track state (measurement, material, fit parameters and quality) at a surface.
Definition: TrackStateOnSurface.h:71
python.EventInfoMgtInit.release
release
Definition: EventInfoMgtInit.py:24
Trk::ExtrapolationValidation::m_covarianceQoverP
float m_covarianceQoverP[TRKEXALGS_MAXPARAMETERS]
start qOverP
Definition: ExtrapolationValidation.h:120
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
Trk::CylinderVolumeBounds::outerRadius
double outerRadius() const
This method returns the outer radius.
Definition: CylinderVolumeBounds.h:191
Trk::TrackParameters
ParametersBase< TrackParametersDim, Charged > TrackParameters
Definition: Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:27
charge
double charge(const T &p)
Definition: AtlasPID.h:538
Trk::ExtrapolationValidation::m_startP
float m_startP
startP
Definition: ExtrapolationValidation.h:128
Trk::ExtrapolationValidation::m_particleType
int m_particleType
the particle typre for the extrap.
Definition: ExtrapolationValidation.h:106
Trk::ExtrapolationValidation::m_breaksBack
unsigned int m_breaksBack
breaks
Definition: ExtrapolationValidation.h:144
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
Trk::ExtrapolationValidation::m_destinationZ
float m_destinationZ
destination in Z
Definition: ExtrapolationValidation.h:138
Trk::ExtrapolationValidation::m_maximumR
double m_maximumR
maximum R of the highest
Definition: ExtrapolationValidation.h:95
Trk::ExtrapolationValidation::m_materialCollectionValidation
bool m_materialCollectionValidation
run the material collection
Definition: ExtrapolationValidation.h:85
AthAlgorithm::m_extendedExtraObjects
DataObjIDColl m_extendedExtraObjects
Definition: AthAlgorithm.h:79
Trk::ExtrapolationValidation::m_collectedLayerBack
unsigned int m_collectedLayerBack
collected material layers backwards
Definition: ExtrapolationValidation.h:147
MuonR4::SegmentFit::Covariance
AmgSymMatrix(toInt(ParamDefs::nPars)) Covariance
Definition: MuonHoughDefs.h:49
a
TList * a
Definition: liststreamerinfos.cxx:10
h
Trk::ExtrapolationValidation::m_startY
float m_startY
startX
Definition: ExtrapolationValidation.h:125
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
Trk::PlaneSurface
Definition: PlaneSurface.h:64
Amg::RotationMatrix3D
Eigen::Matrix< double, 3, 3 > RotationMatrix3D
Definition: GeoPrimitives.h:49
Trk::addNoise
@ addNoise
Definition: MaterialUpdateMode.h:19
Trk::AtaPlane
ParametersT< TrackParametersDim, Charged, PlaneSurface > AtaPlane
Definition: Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:34
Amg::Translation3D
Eigen::Translation< double, 3 > Translation3D
Definition: GeoPrimitives.h:44
Trk::Volume::volumeBounds
const VolumeBounds & volumeBounds() const
returns the volumeBounds()
Definition: Volume.h:97
Trk::qOverP
@ qOverP
perigee
Definition: ParamDefs.h:67
if
if(febId1==febId2)
Definition: LArRodBlockPhysicsV0.cxx:567
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:623
Trk::ParametersBase::eta
double eta() const
Access method for pseudorapidity - from momentum.
Amg::AngleAxis3D
Eigen::AngleAxisd AngleAxis3D
Definition: GeoPrimitives.h:45
AthAlgorithm::AthAlgorithm
AthAlgorithm()
Default constructor:
Trk::phi
@ phi
Definition: ParamDefs.h:75
Trk::ExtrapolationValidation::m_covarianceLoc1
float m_covarianceLoc1[TRKEXALGS_MAXPARAMETERS]
start local 1
Definition: ExtrapolationValidation.h:116
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
LHEF::Writer
Pythia8::Writer Writer
Definition: Prophecy4fMerger.cxx:12
drawFromPickle.sin
sin
Definition: drawFromPickle.py:36
Trk::ExtrapolationValidation::m_validationTreeName
std::string m_validationTreeName
validation tree name - to be acessed by this from root
Definition: ExtrapolationValidation.h:91
Trk::x
@ x
Definition: ParamDefs.h:55
Trk::loc1
@ loc1
Definition: ParamDefs.h:34
Trk::removeNoise
@ removeNoise
Definition: MaterialUpdateMode.h:20
Trk::ExtrapolationValidation::m_startZ
float m_startZ
startX
Definition: ExtrapolationValidation.h:127
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
Trk::ExtrapolationValidation::m_maxEta
double m_maxEta
Maximal eta value.
Definition: ExtrapolationValidation.h:102
fitman.k
k
Definition: fitman.py:528
Trk::ParametersBase::clone
virtual ParametersBase< DIM, T > * clone() const override=0
clone method for polymorphic deep copy
Trk::ExtrapolationValidation::m_estimationY
float m_estimationY
estimation in Y
Definition: ExtrapolationValidation.h:131
Trk::ExtrapolationValidation::m_parameterEta
float m_parameterEta[TRKEXALGS_MAXPARAMETERS]
start eta
Definition: ExtrapolationValidation.h:113
ServiceHandle< ICondSvc >
Trk::ExtrapolationValidation::m_extrapolator
ToolHandle< IExtrapolator > m_extrapolator
The Extrapolator to be retrieved.
Definition: ExtrapolationValidation.h:79
Trk::ExtrapolationValidation::m_parameterLoc1
float m_parameterLoc1[TRKEXALGS_MAXPARAMETERS]
start local 1
Definition: ExtrapolationValidation.h:109