ATLAS Offline Software
Loading...
Searching...
No Matches
Trk::ExtrapolationCell< T > Class Template Reference

templated class as an input-output object of the extrapolation, only public members, since it is a container class More...

#include <ExtrapolationCell.h>

Collaboration diagram for Trk::ExtrapolationCell< T >:

Public Member Functions

 ExtrapolationCell (T &sParameters, PropDirection pDir=alongMomentum, unsigned int econfig=1)
 start parameters are compulsory
void addConfigurationMode (ExtrapolationMode::eMode em)
 add a configuration mode
bool checkConfigurationMode (ExtrapolationMode::eMode em) const
 check the configuration mode
bool onLastBoundary () const
 check if you are still at the last boundary surface
void stepParameters (const T *pars, ExtrapolationMode::eMode fillMode)
 fill or attach the parameters from a step - memory management steered by extrapolationConfiguration
void stepTransport (const Surface &sf, double pathLength=0., const TransportJacobian *tjac=nullptr)
 fill transport information - path length and TransportJacobian
void addMaterial (double sfactor, const MaterialProperties *mprop=nullptr)
 fill or attach material, jacobian, step length
void addMaterial (double step, const Material *mat=nullptr)
void stepMaterial (const Surface &sf, const Layer *lay, const Amg::Vector3D &position, double sfactor, const MaterialProperties *mprop=nullptr)
 fill or attach material, jacobian, step length
bool initialVolume () const
 check if this is the initial volume
bool finalVolumeReached () const
 trigger for final volume
bool pathLimitReached (double tolerance=0.001) const
 the materialLimitReached
bool materialLimitReached (double tolerance=0.001) const
 the materialLimitReached
void restartAtDestination ()
 prepare destination as new start point - optimised for Kalman filtering
void finalize (const ExtrapolationCode &ec)
 finalize call - this one is called by the ExtrapoaltionEngine
void emptyGarbageBin (const ExtrapolationCode &ec)
 memory cleanup
void setParticleHypothesis (const ParticleHypothesis &hypo)
 set ParticleHypothesis
void setRadialDirection ()
 estimate the radial direction of the extrapolation cell
bool checkRadialCompatibility () const
 check whether the propagation stays compatible with initial radial direction

Public Attributes

T * startParameters
 by reference - need to be defined
const TrackingVolumestartVolume
 the start volume - needed for the volumeToVolume loop
const LayerstartLayer
 the start layer - needed for layerToLayer loop
T * endParameters
 by pointer - are newly created and can be optionally 0
const TrackingVolumeendVolume
 the end Volume - can be optionally 0 (needs other trigger to stop)
const LayerendLayer
 the end Layer - can be optionally 0 (needs other trigger to stop)
const SurfaceendSurface
 keep track of the destination surface - can be optionally 0
T * leadParameters
 the one last truely valid parameter in the stream
const TrackingVolumeleadVolume
 the lead Volume - carrying the navigation stream
const LayerleadLayer
 the lead Layer - carrying the navigation stream
const SurfaceleadLayerSurface
 if the lead layer has sub structure that is the first one to start with
T * lastBoundaryParameters
 this is the last boundary surface to prevent loops
const SurfacelastBoundarySurface
 this is the last boundary surface to prevent loops
T * lastLeadParameters
 this is for caching the last valid
PropDirection propDirection
 this is the propagation direction
int radialDirection
 for checking if navigation is radially towards the IP, this has consequences for entering cylinders
GeometrySignature nextGeometrySignature
 when a boundary is reached the geometry signature is updated to the next volume one
int navigationStep
 a counter of the navigation Step
double pathLength
 the path length accumulated
double pathLimit
 the maximal limit of the extrapolation
double materialX0
 collected material so far in units of X0
double materialLimitX0
 given material limit in X0
double materialL0
 collected material so far in units of L0
double materialLimitL0
 given material limit in L0
int materialProcess
 the material process to be generated
ParticleHypothesis pHypothesis
 what particle hypothesis to be used, default : pion
MagneticFieldProperties mFieldMode
 what magnetic field mode to be used, default : fullField
MaterialUpdateMode materialUpdateMode
 how to deal with the material effect, default: addNoise
bool navigationCurvilinear
 stay in curvilinear parameters where possible, default : true
bool sensitiveCurvilinear
 stay in curvilinear parameters even on the destination surface
bool destinationCurvilinear
 return curvilinear parameters even on destination
std::vector< ExtrapolationStep< T > > extrapolationSteps
 parameters on sensitive detector elements
ExtrapolationConfig extrapolationConfiguration
 overall global configuration
float time
 timing info
EnergyLosseLoss
 cumulated energy loss
float zOaTrX
 z/A*rho*dInX0 (for average calculations)
float zX
 z*dInX0 (for average calculations)

Private Attributes

std::vector< const T * > m_garbageCollection

Detailed Description

template<class T>
class Trk::ExtrapolationCell< T >

templated class as an input-output object of the extrapolation, only public members, since it is a container class

Author
Andreas.Salzburger -at- cern.ch

Definition at line 230 of file ExtrapolationCell.h.

Constructor & Destructor Documentation

◆ ExtrapolationCell()

template<class T>
Trk::ExtrapolationCell< T >::ExtrapolationCell ( T & sParameters,
PropDirection pDir = alongMomentum,
unsigned int econfig = 1 )
inline

start parameters are compulsory

Definition at line 303 of file ExtrapolationCell.h.

307 , startVolume(nullptr)
308 , startLayer(nullptr)
309 , endParameters(0)
310 , endVolume(nullptr)
311 , endLayer(nullptr)
312 , endSurface(nullptr)
314 , leadVolume(nullptr)
315 , leadLayer(nullptr)
316 , leadLayerSurface(nullptr)
318 , lastBoundarySurface(nullptr)
321 , radialDirection(1)
323 , navigationStep(0)
324 , pathLength(0.)
325 , pathLimit(-1)
326 , materialX0(0.)
327 , materialLimitX0(-1.)
328 , materialL0(0.)
329 , materialLimitL0(-1.)
330 , materialProcess(0)
335 , sensitiveCurvilinear(false)
338 , time(0)
339 , eLoss(nullptr)
340 , zOaTrX(0.)
341 , zX(0.)
342 {}
templated class as an input-output object of the extrapolation, only public members,...
PropDirection propDirection
this is the propagation direction
int materialProcess
the material process to be generated
MagneticFieldProperties mFieldMode
what magnetic field mode to be used, default : fullField
T * lastLeadParameters
this is for caching the last valid
double materialL0
collected material so far in units of L0
const TrackingVolume * endVolume
the end Volume - can be optionally 0 (needs other trigger to stop)
const TrackingVolume * leadVolume
the lead Volume - carrying the navigation stream
const Surface * endSurface
keep track of the destination surface - can be optionally 0
float zOaTrX
z/A*rho*dInX0 (for average calculations)
bool destinationCurvilinear
return curvilinear parameters even on destination
float zX
z*dInX0 (for average calculations)
const Layer * endLayer
the end Layer - can be optionally 0 (needs other trigger to stop)
T * lastBoundaryParameters
this is the last boundary surface to prevent loops
double materialX0
collected material so far in units of X0
double materialLimitL0
given material limit in L0
const TrackingVolume * startVolume
the start volume - needed for the volumeToVolume loop
T * endParameters
by pointer - are newly created and can be optionally 0
T * startParameters
by reference - need to be defined
int navigationStep
a counter of the navigation Step
T * leadParameters
the one last truely valid parameter in the stream
int radialDirection
for checking if navigation is radially towards the IP, this has consequences for entering cylinders
const Layer * startLayer
the start layer - needed for layerToLayer loop
bool sensitiveCurvilinear
stay in curvilinear parameters even on the destination surface
double pathLimit
the maximal limit of the extrapolation
EnergyLoss * eLoss
cumulated energy loss
ExtrapolationConfig extrapolationConfiguration
overall global configuration
MaterialUpdateMode materialUpdateMode
how to deal with the material effect, default: addNoise
const Layer * leadLayer
the lead Layer - carrying the navigation stream
GeometrySignature nextGeometrySignature
when a boundary is reached the geometry signature is updated to the next volume one
ParticleHypothesis pHypothesis
what particle hypothesis to be used, default : pion
bool navigationCurvilinear
stay in curvilinear parameters where possible, default : true
double pathLength
the path length accumulated
const Surface * leadLayerSurface
if the lead layer has sub structure that is the first one to start with
const Surface * lastBoundarySurface
this is the last boundary surface to prevent loops
double materialLimitX0
given material limit in X0

Member Function Documentation

◆ addConfigurationMode()

template<class T>
void Trk::ExtrapolationCell< T >::addConfigurationMode ( ExtrapolationMode::eMode em)
inline

add a configuration mode

Definition at line 345 of file ExtrapolationCell.h.

346 {
347 // set the bit corresponding to this mode
349 }

◆ addMaterial() [1/2]

template<class T>
void Trk::ExtrapolationCell< T >::addMaterial ( double sfactor,
const MaterialProperties * mprop = nullptr )

fill or attach material, jacobian, step length

  • material is just a pointer copy

Definition at line 606 of file ExtrapolationCell.h.

608{
609
610 // fill the material if there
611 if (mprop) {
612 // the overal material
613 materialX0 += sfactor * mprop->thicknessInX0();
614 materialL0 += sfactor * mprop->thicknessInL0();
615 zOaTrX += mprop->zOverAtimesRho() * sfactor * mprop->thicknessInX0();
616 zX += mprop->averageZ() * sfactor * mprop->thicknessInX0();
617 }
618}

◆ addMaterial() [2/2]

template<class T>
void Trk::ExtrapolationCell< T >::addMaterial ( double step,
const Material * mat = nullptr )

Definition at line 622 of file ExtrapolationCell.h.

623{
624
625 // fill the material if there
626 if (mat && step > 0.) {
627 // the overal material
628 materialX0 += step / mat->X0;
629 materialL0 += step / mat->L0;
630 zOaTrX += mat->zOverAtimesRho() * step / mat->X0;
631 zX += mat->averageZ() * step / mat->X0;
632 }
633}

◆ checkConfigurationMode()

template<class T>
bool Trk::ExtrapolationCell< T >::checkConfigurationMode ( ExtrapolationMode::eMode em) const
inline

check the configuration mode

Definition at line 352 of file ExtrapolationCell.h.

353 {
354 // check if the bit is set or not
355 return extrapolationConfiguration.checkMode(em);
356 }

◆ checkRadialCompatibility()

template<class T>
bool Trk::ExtrapolationCell< T >::checkRadialCompatibility ( ) const
inline

check whether the propagation stays compatible with initial radial direction

Definition at line 454 of file ExtrapolationCell.h.

455 {
456 // this checks the radial compatibility - not needed for outwards moving
457 if (radialDirection > 0)
458 return true;
459 // this was radially inwards moving and stays like this
460 if (leadParameters->position().perp() >
461 (leadParameters->position() +
462 propDirection * leadParameters->momentum().unit())
463 .perp())
464 return true;
465 // radial direction changed
466 return false;
467 }

◆ emptyGarbageBin()

template<class T>
void Trk::ExtrapolationCell< T >::emptyGarbageBin ( const ExtrapolationCode & ec)

memory cleanup

Definition at line 520 of file ExtrapolationCell.h.

521{
522 for (auto bC : m_garbageCollection)
523 delete bC;
524 m_garbageCollection.clear();
525 // in case of failure of the extrapolation stream, clear all the caches
526 if (ec.isFailure()) {
527 for (auto& es : extrapolationSteps) {
528 delete es.parameters;
529 delete es.transportJacobian;
530 }
531 // now clear the vector
532 extrapolationSteps.clear();
533 }
534}
std::vector< ExtrapolationStep< T > > extrapolationSteps
parameters on sensitive detector elements
std::vector< const T * > m_garbageCollection

◆ finalize()

template<class T>
void Trk::ExtrapolationCell< T >::finalize ( const ExtrapolationCode & ec)

finalize call - this one is called by the ExtrapoaltionEngine

Definition at line 504 of file ExtrapolationCell.h.

505{
506 // set the leadParameters to the endParameters if anything happened here and
507 // the code wass succesful
508 if (ec.isSuccessOrRecovered() && leadParameters != startParameters) {
509 // end parameters are the last lead parameters !< @TODO check if we need a
510 // clone here! should not be necessary
511 endParameters = leadParameters->clone();
512 }
513 // now do the cleanup - will delete the step content if eCode is failure
515 delete eLoss;
516}
void emptyGarbageBin(const ExtrapolationCode &ec)
memory cleanup

◆ finalVolumeReached()

template<class T>
bool Trk::ExtrapolationCell< T >::finalVolumeReached ( ) const
inline

trigger for final volume

Definition at line 391 of file ExtrapolationCell.h.

392 {
393 return (leadVolume == endVolume && endVolume);
394 }

◆ initialVolume()

template<class T>
bool Trk::ExtrapolationCell< T >::initialVolume ( ) const
inline

check if this is the initial volume

Definition at line 388 of file ExtrapolationCell.h.

388{ return (leadVolume == startVolume); }

◆ materialLimitReached()

template<class T>
bool Trk::ExtrapolationCell< T >::materialLimitReached ( double tolerance = 0.001) const
inline

the materialLimitReached

Definition at line 404 of file ExtrapolationCell.h.

405 {
406 return ((checkConfigurationMode(
412 }
#define reachedLimit(current, limit, tolerance)
bool checkConfigurationMode(ExtrapolationMode::eMode em) const
check the configuration mode

◆ onLastBoundary()

template<class T>
bool Trk::ExtrapolationCell< T >::onLastBoundary ( ) const
inline

check if you are still at the last boundary surface

Definition at line 359 of file ExtrapolationCell.h.

360 {
362 }

◆ pathLimitReached()

template<class T>
bool Trk::ExtrapolationCell< T >::pathLimitReached ( double tolerance = 0.001) const
inline

the materialLimitReached

Definition at line 397 of file ExtrapolationCell.h.

◆ restartAtDestination()

template<class T>
void Trk::ExtrapolationCell< T >::restartAtDestination ( )

prepare destination as new start point - optimised for Kalman filtering

set end to start - and reset the rest

Definition at line 475 of file ExtrapolationCell.h.

476{
481 endParameters = 0;
482 endVolume = 0;
483 endLayer = 0;
484 endSurface = 0;
486 leadVolume = 0;
487 leadLayer = 0;
492 navigationStep = 0;
493 pathLength = 0.;
494 materialX0 = 0.;
495 materialL0 = 0.;
496 if (eLoss)
497 eLoss->set(0., 0., 0., 0., 0., 0.);
498 // clear the vector
499 extrapolationSteps.clear();
500}

◆ setParticleHypothesis()

template<class T>
void Trk::ExtrapolationCell< T >::setParticleHypothesis ( const ParticleHypothesis & hypo)
inline

set ParticleHypothesis

Definition at line 424 of file ExtrapolationCell.h.

425 {
427 }

◆ setRadialDirection()

template<class T>
void Trk::ExtrapolationCell< T >::setRadialDirection ( )
inline

estimate the radial direction of the extrapolation cell

Definition at line 430 of file ExtrapolationCell.h.

431 {
432 // in FATRAS extrapolation mode force radial direction to be outwards (+1)
434 radialDirection = 1;
435 else {
436 // if the endSurface is given, it is used to evaluate the radial direction
437 // else the leadParamenters are used
438 if (endSurface) {
439 if (leadParameters->position().perp() >
440 endSurface->globalReferencePoint().perp())
441 radialDirection = -1;
442 } else {
443 if (leadParameters->position().perp() >
444 (leadParameters->position() +
445 propDirection * leadParameters->momentum().unit())
446 .perp())
447 radialDirection = -1;
448 }
449 }
450 }

◆ stepMaterial()

template<class T>
void Trk::ExtrapolationCell< T >::stepMaterial ( const Surface & sf,
const Layer * lay,
const Amg::Vector3D & position,
double sfactor,
const MaterialProperties * mprop = nullptr )

fill or attach material, jacobian, step length

  • material is just a pointer copy

Definition at line 637 of file ExtrapolationCell.h.

642{
643
644 // add material to the global counter
646 // find out if you want to attach or you need a new one
647 // current step surface
648 const Surface* cssf = &sf;
649 // get the last step surface - if it is identical with the current one ->
650 // attach information
651 const Surface* lssf =
652 extrapolationSteps.size()
653 ? extrapolationSteps[extrapolationSteps.size() - 1].surface
654 : 0;
655 // create a new step
656 if (cssf != lssf)
658 // set the surface
659 extrapolationSteps[extrapolationSteps.size() - 1].surface = cssf;
660 extrapolationSteps[extrapolationSteps.size() - 1].layer = lay;
661 // fill the material if there
662 if (mprop) {
663 // record the step information
664 extrapolationSteps[extrapolationSteps.size() - 1].material = mprop;
665 extrapolationSteps[extrapolationSteps.size() - 1].stepConfiguration.addMode(
667 extrapolationSteps[extrapolationSteps.size() - 1].materialPosition =
668 mposition;
669 extrapolationSteps[extrapolationSteps.size() - 1].materialScaling = sfactor;
670 }
671}
void addMaterial(double sfactor, const MaterialProperties *mprop=nullptr)
fill or attach material, jacobian, step length

◆ stepParameters()

template<class T>
void Trk::ExtrapolationCell< T >::stepParameters ( const T * pars,
ExtrapolationMode::eMode fillMode )

fill or attach the parameters from a step - memory management steered by extrapolationConfiguration

Definition at line 538 of file ExtrapolationCell.h.

540{
541 // this is the garbage bin collection
543 // only dump them in the garbage bin
545 return;
546 }
547 // find out if you want to attach or you need a new one
548 // current step surface
549 const Surface* cssf = &(parameters->associatedSurface());
550 // get the last step surface - if it is identical with the current one ->
551 // attach information
552 const Surface* lssf =
553 extrapolationSteps.size()
554 ? extrapolationSteps[extrapolationSteps.size() - 1].surface
555 : 0;
556 // create a new step
557 if (cssf != lssf)
559 // fill the parameters, the surface and add the mode
560 extrapolationSteps[extrapolationSteps.size() - 1].parameters = parameters;
561 extrapolationSteps[extrapolationSteps.size() - 1].surface = cssf;
562 extrapolationSteps[extrapolationSteps.size() - 1].stepConfiguration.addMode(
563 fillMode);
564}

◆ stepTransport()

template<class T>
void Trk::ExtrapolationCell< T >::stepTransport ( const Surface & sf,
double pathLength = 0.,
const TransportJacobian * tjac = nullptr )

fill transport information - path length and TransportJacobian

  • jacobians need to be cleared

Definition at line 568 of file ExtrapolationCell.h.

571{
572 // find out if you want to attach or you need a new one
573 // current step surface
574 const Surface* cssf = &sf;
575 // get the last step surface - if it is identical with the current one ->
576 // attach information
577 const Surface* lssf =
578 extrapolationSteps.size()
579 ? extrapolationSteps[extrapolationSteps.size() - 1].surface
580 : 0;
581 // only create a new step for a transport jacobian
582 if (tjac) {
583 // create a new step
584 if (cssf != lssf)
586 // set the surface
587 extrapolationSteps[extrapolationSteps.size() - 1].surface = cssf;
588 // set the the transport information
589 extrapolationSteps[extrapolationSteps.size() - 1].transportJacobian = tjac;
590 extrapolationSteps[extrapolationSteps.size() - 1].stepConfiguration.addMode(
592 // fill the step path length
593 if (pLength > 0.) {
594 extrapolationSteps[extrapolationSteps.size() - 1].pathLength = pLength;
596 .stepConfiguration.addMode(Trk::ExtrapolationMode::CollectPathSteps);
597 }
598 } else {
599 // let's just fill the pathLength information
601 }
602}

Member Data Documentation

◆ destinationCurvilinear

template<class T>
bool Trk::ExtrapolationCell< T >::destinationCurvilinear

return curvilinear parameters even on destination

Definition at line 288 of file ExtrapolationCell.h.

◆ eLoss

template<class T>
EnergyLoss* Trk::ExtrapolationCell< T >::eLoss

cumulated energy loss

Definition at line 298 of file ExtrapolationCell.h.

◆ endLayer

template<class T>
const Layer* Trk::ExtrapolationCell< T >::endLayer

the end Layer - can be optionally 0 (needs other trigger to stop)

Definition at line 241 of file ExtrapolationCell.h.

◆ endParameters

template<class T>
T* Trk::ExtrapolationCell< T >::endParameters

by pointer - are newly created and can be optionally 0

Definition at line 238 of file ExtrapolationCell.h.

◆ endSurface

template<class T>
const Surface* Trk::ExtrapolationCell< T >::endSurface

keep track of the destination surface - can be optionally 0

Definition at line 244 of file ExtrapolationCell.h.

◆ endVolume

template<class T>
const TrackingVolume* Trk::ExtrapolationCell< T >::endVolume

the end Volume - can be optionally 0 (needs other trigger to stop)

Definition at line 239 of file ExtrapolationCell.h.

◆ extrapolationConfiguration

template<class T>
ExtrapolationConfig Trk::ExtrapolationCell< T >::extrapolationConfiguration

overall global configuration

Definition at line 295 of file ExtrapolationCell.h.

◆ extrapolationSteps

template<class T>
std::vector<ExtrapolationStep<T> > Trk::ExtrapolationCell< T >::extrapolationSteps

parameters on sensitive detector elements

Definition at line 292 of file ExtrapolationCell.h.

◆ lastBoundaryParameters

template<class T>
T* Trk::ExtrapolationCell< T >::lastBoundaryParameters

this is the last boundary surface to prevent loops

Definition at line 253 of file ExtrapolationCell.h.

◆ lastBoundarySurface

template<class T>
const Surface* Trk::ExtrapolationCell< T >::lastBoundarySurface

this is the last boundary surface to prevent loops

Definition at line 256 of file ExtrapolationCell.h.

◆ lastLeadParameters

template<class T>
T* Trk::ExtrapolationCell< T >::lastLeadParameters

this is for caching the last valid

parameters before the lead parameters

Definition at line 258 of file ExtrapolationCell.h.

◆ leadLayer

template<class T>
const Layer* Trk::ExtrapolationCell< T >::leadLayer

the lead Layer - carrying the navigation stream

Definition at line 249 of file ExtrapolationCell.h.

◆ leadLayerSurface

template<class T>
const Surface* Trk::ExtrapolationCell< T >::leadLayerSurface

if the lead layer has sub structure that is the first one to start with

Definition at line 250 of file ExtrapolationCell.h.

◆ leadParameters

template<class T>
T* Trk::ExtrapolationCell< T >::leadParameters

the one last truely valid parameter in the stream

Definition at line 246 of file ExtrapolationCell.h.

◆ leadVolume

template<class T>
const TrackingVolume* Trk::ExtrapolationCell< T >::leadVolume

the lead Volume - carrying the navigation stream

Definition at line 248 of file ExtrapolationCell.h.

◆ m_garbageCollection

template<class T>
std::vector<const T*> Trk::ExtrapolationCell< T >::m_garbageCollection
private

Definition at line 470 of file ExtrapolationCell.h.

◆ materialL0

template<class T>
double Trk::ExtrapolationCell< T >::materialL0

collected material so far in units of L0

Definition at line 274 of file ExtrapolationCell.h.

◆ materialLimitL0

template<class T>
double Trk::ExtrapolationCell< T >::materialLimitL0

given material limit in L0

Definition at line 275 of file ExtrapolationCell.h.

◆ materialLimitX0

template<class T>
double Trk::ExtrapolationCell< T >::materialLimitX0

given material limit in X0

Definition at line 273 of file ExtrapolationCell.h.

◆ materialProcess

template<class T>
int Trk::ExtrapolationCell< T >::materialProcess

the material process to be generated

Definition at line 276 of file ExtrapolationCell.h.

◆ materialUpdateMode

template<class T>
MaterialUpdateMode Trk::ExtrapolationCell< T >::materialUpdateMode

how to deal with the material effect, default: addNoise

Definition at line 282 of file ExtrapolationCell.h.

◆ materialX0

template<class T>
double Trk::ExtrapolationCell< T >::materialX0

collected material so far in units of X0

Definition at line 272 of file ExtrapolationCell.h.

◆ mFieldMode

template<class T>
MagneticFieldProperties Trk::ExtrapolationCell< T >::mFieldMode

what magnetic field mode to be used, default : fullField

Definition at line 281 of file ExtrapolationCell.h.

◆ navigationCurvilinear

template<class T>
bool Trk::ExtrapolationCell< T >::navigationCurvilinear

stay in curvilinear parameters where possible, default : true

Definition at line 284 of file ExtrapolationCell.h.

◆ navigationStep

template<class T>
int Trk::ExtrapolationCell< T >::navigationStep

a counter of the navigation Step

Definition at line 268 of file ExtrapolationCell.h.

◆ nextGeometrySignature

template<class T>
GeometrySignature Trk::ExtrapolationCell< T >::nextGeometrySignature

when a boundary is reached the geometry signature is updated to the next volume one

Definition at line 265 of file ExtrapolationCell.h.

◆ pathLength

template<class T>
double Trk::ExtrapolationCell< T >::pathLength

the path length accumulated

Definition at line 269 of file ExtrapolationCell.h.

◆ pathLimit

template<class T>
double Trk::ExtrapolationCell< T >::pathLimit

the maximal limit of the extrapolation

Definition at line 270 of file ExtrapolationCell.h.

◆ pHypothesis

template<class T>
ParticleHypothesis Trk::ExtrapolationCell< T >::pHypothesis

what particle hypothesis to be used, default : pion

Definition at line 279 of file ExtrapolationCell.h.

◆ propDirection

template<class T>
PropDirection Trk::ExtrapolationCell< T >::propDirection

this is the propagation direction

Definition at line 260 of file ExtrapolationCell.h.

◆ radialDirection

template<class T>
int Trk::ExtrapolationCell< T >::radialDirection

for checking if navigation is radially towards the IP, this has consequences for entering cylinders

Definition at line 261 of file ExtrapolationCell.h.

◆ sensitiveCurvilinear

template<class T>
bool Trk::ExtrapolationCell< T >::sensitiveCurvilinear

stay in curvilinear parameters even on the destination surface

Definition at line 286 of file ExtrapolationCell.h.

◆ startLayer

template<class T>
const Layer* Trk::ExtrapolationCell< T >::startLayer

the start layer - needed for layerToLayer loop

Definition at line 236 of file ExtrapolationCell.h.

◆ startParameters

template<class T>
T* Trk::ExtrapolationCell< T >::startParameters

by reference - need to be defined

Definition at line 233 of file ExtrapolationCell.h.

◆ startVolume

template<class T>
const TrackingVolume* Trk::ExtrapolationCell< T >::startVolume

the start volume - needed for the volumeToVolume loop

Definition at line 235 of file ExtrapolationCell.h.

◆ time

template<class T>
float Trk::ExtrapolationCell< T >::time

timing info

Definition at line 297 of file ExtrapolationCell.h.

◆ zOaTrX

template<class T>
float Trk::ExtrapolationCell< T >::zOaTrX

z/A*rho*dInX0 (for average calculations)

Definition at line 299 of file ExtrapolationCell.h.

◆ zX

template<class T>
float Trk::ExtrapolationCell< T >::zX

z*dInX0 (for average calculations)

Definition at line 300 of file ExtrapolationCell.h.


The documentation for this class was generated from the following file: