![]() |
ATLAS Offline Software
|
#include <ExtrapolationCell.h>
Public Member Functions | |
| ExtrapolationCell (T &sParameters, PropDirection pDir=alongMomentum, unsigned int econfig=1) | |
| start parameters are compulsory More... | |
| void | addConfigurationMode (ExtrapolationMode::eMode em) |
| add a configuration mode More... | |
| bool | checkConfigurationMode (ExtrapolationMode::eMode em) const |
| check the configuration mode More... | |
| bool | onLastBoundary () const |
| check if you are still at the last boundary surface More... | |
| void | stepParameters (const T *pars, ExtrapolationMode::eMode fillMode) |
| fill or attach the parameters from a step - memory management steered by extrapolationConfiguration More... | |
| void | stepTransport (const Surface &sf, double pathLength=0., const TransportJacobian *tjac=nullptr) |
| fill transport information - path length and TransportJacobian More... | |
| void | addMaterial (double sfactor, const MaterialProperties *mprop=nullptr) |
| fill or attach material, jacobian, step length More... | |
| 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 More... | |
| bool | initialVolume () const |
| check if this is the initial volume More... | |
| bool | finalVolumeReached () const |
| trigger for final volume More... | |
| bool | pathLimitReached (double tolerance=0.001) const |
| the materialLimitReached More... | |
| bool | materialLimitReached (double tolerance=0.001) const |
| the materialLimitReached More... | |
| void | restartAtDestination () |
| prepare destination as new start point - optimised for Kalman filtering More... | |
| void | finalize (const ExtrapolationCode &ec) |
| finalize call - this one is called by the ExtrapoaltionEngine More... | |
| void | emptyGarbageBin (const ExtrapolationCode &ec) |
| memory cleanup More... | |
| void | setParticleHypothesis (const ParticleHypothesis &hypo) |
| set ParticleHypothesis More... | |
| void | setRadialDirection () |
| estimate the radial direction of the extrapolation cell More... | |
| bool | checkRadialCompatibility () const |
| check whether the propagation stays compatible with initial radial direction More... | |
Public Attributes | |
| T * | startParameters |
| by reference - need to be defined More... | |
| const TrackingVolume * | startVolume |
| the start volume - needed for the volumeToVolume loop More... | |
| const Layer * | startLayer |
| the start layer - needed for layerToLayer loop More... | |
| T * | endParameters |
| by pointer - are newly created and can be optionally 0 More... | |
| const TrackingVolume * | endVolume |
| the end Volume - can be optionally 0 (needs other trigger to stop) More... | |
| const Layer * | endLayer |
| the end Layer - can be optionally 0 (needs other trigger to stop) More... | |
| const Surface * | endSurface |
| keep track of the destination surface - can be optionally 0 More... | |
| T * | leadParameters |
| the one last truely valid parameter in the stream More... | |
| const TrackingVolume * | leadVolume |
| the lead Volume - carrying the navigation stream More... | |
| const Layer * | leadLayer |
| the lead Layer - carrying the navigation stream More... | |
| const Surface * | leadLayerSurface |
| if the lead layer has sub structure that is the first one to start with More... | |
| T * | lastBoundaryParameters |
| this is the last boundary surface to prevent loops More... | |
| const Surface * | lastBoundarySurface |
| this is the last boundary surface to prevent loops More... | |
| T * | lastLeadParameters |
| this is for caching the last valid More... | |
| PropDirection | propDirection |
| this is the propagation direction More... | |
| int | radialDirection |
| for checking if navigation is radially towards the IP, this has consequences for entering cylinders More... | |
| GeometrySignature | nextGeometrySignature |
| when a boundary is reached the geometry signature is updated to the next volume one More... | |
| int | navigationStep |
| a counter of the navigation Step More... | |
| double | pathLength |
| the path length accumulated More... | |
| double | pathLimit |
| the maximal limit of the extrapolation More... | |
| double | materialX0 |
| collected material so far in units of X0 More... | |
| double | materialLimitX0 |
| given material limit in X0 More... | |
| double | materialL0 |
| collected material so far in units of L0 More... | |
| double | materialLimitL0 |
| given material limit in L0 More... | |
| int | materialProcess |
| the material process to be generated More... | |
| ParticleHypothesis | pHypothesis |
| what particle hypothesis to be used, default : pion More... | |
| MagneticFieldProperties | mFieldMode |
| what magnetic field mode to be used, default : fullField More... | |
| MaterialUpdateMode | materialUpdateMode |
| how to deal with the material effect, default: addNoise More... | |
| bool | navigationCurvilinear |
| stay in curvilinear parameters where possible, default : true More... | |
| bool | sensitiveCurvilinear |
| stay in curvilinear parameters even on the destination surface More... | |
| bool | destinationCurvilinear |
| return curvilinear parameters even on destination More... | |
| std::vector< ExtrapolationStep< T > > | extrapolationSteps |
| parameters on sensitive detector elements More... | |
| ExtrapolationConfig | extrapolationConfiguration |
| overall global configuration More... | |
| float | time |
| timing info More... | |
| EnergyLoss * | eLoss |
| cumulated energy loss More... | |
| float | zOaTrX |
| z/A*rho*dInX0 (for average calculations) More... | |
| float | zX |
| z*dInX0 (for average calculations) More... | |
Private Attributes | |
| std::vector< const T * > | m_garbageCollection |
templated class as an input-output object of the extrapolation, only public members, since it is a container class
Definition at line 230 of file ExtrapolationCell.h.
|
inline |
|
inline |
| void Trk::ExtrapolationCell< T >::addMaterial | ( | double | sfactor, |
| const MaterialProperties * | mprop = nullptr |
||
| ) |
fill or attach material, jacobian, step length
Definition at line 606 of file ExtrapolationCell.h.
| void Trk::ExtrapolationCell< T >::addMaterial | ( | double | step, |
| const Material * | mat = nullptr |
||
| ) |
Definition at line 622 of file ExtrapolationCell.h.
|
inline |
|
inline |
check whether the propagation stays compatible with initial radial direction
Definition at line 454 of file ExtrapolationCell.h.
| void Trk::ExtrapolationCell< T >::emptyGarbageBin | ( | const ExtrapolationCode & | ec | ) |
| 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.
|
inline |
trigger for final volume
Definition at line 391 of file ExtrapolationCell.h.
|
inline |
|
inline |
|
inline |
check if you are still at the last boundary surface
Definition at line 359 of file ExtrapolationCell.h.
|
inline |
| 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.
|
inline |
set ParticleHypothesis
Definition at line 424 of file ExtrapolationCell.h.
|
inline |
estimate the radial direction of the extrapolation cell
Definition at line 430 of file ExtrapolationCell.h.
| 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
Definition at line 637 of file ExtrapolationCell.h.
| 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.
| void Trk::ExtrapolationCell< T >::stepTransport | ( | const Surface & | sf, |
| double | pathLength = 0., |
||
| const TransportJacobian * | tjac = nullptr |
||
| ) |
fill transport information - path length and TransportJacobian
Definition at line 568 of file ExtrapolationCell.h.
| bool Trk::ExtrapolationCell< T >::destinationCurvilinear |
return curvilinear parameters even on destination
Definition at line 288 of file ExtrapolationCell.h.
| EnergyLoss* Trk::ExtrapolationCell< T >::eLoss |
cumulated energy loss
Definition at line 298 of file ExtrapolationCell.h.
| 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.
| T* Trk::ExtrapolationCell< T >::endParameters |
by pointer - are newly created and can be optionally 0
Definition at line 238 of file ExtrapolationCell.h.
| const Surface* Trk::ExtrapolationCell< T >::endSurface |
keep track of the destination surface - can be optionally 0
Definition at line 244 of file ExtrapolationCell.h.
| 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.
| ExtrapolationConfig Trk::ExtrapolationCell< T >::extrapolationConfiguration |
overall global configuration
Definition at line 295 of file ExtrapolationCell.h.
| std::vector<ExtrapolationStep<T> > Trk::ExtrapolationCell< T >::extrapolationSteps |
parameters on sensitive detector elements
Definition at line 292 of file ExtrapolationCell.h.
| T* Trk::ExtrapolationCell< T >::lastBoundaryParameters |
this is the last boundary surface to prevent loops
Definition at line 253 of file ExtrapolationCell.h.
| const Surface* Trk::ExtrapolationCell< T >::lastBoundarySurface |
this is the last boundary surface to prevent loops
Definition at line 256 of file ExtrapolationCell.h.
| 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.
| const Layer* Trk::ExtrapolationCell< T >::leadLayer |
the lead Layer - carrying the navigation stream
Definition at line 249 of file ExtrapolationCell.h.
| 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.
| T* Trk::ExtrapolationCell< T >::leadParameters |
the one last truely valid parameter in the stream
Definition at line 246 of file ExtrapolationCell.h.
| const TrackingVolume* Trk::ExtrapolationCell< T >::leadVolume |
the lead Volume - carrying the navigation stream
Definition at line 248 of file ExtrapolationCell.h.
|
private |
Definition at line 470 of file ExtrapolationCell.h.
| double Trk::ExtrapolationCell< T >::materialL0 |
collected material so far in units of L0
Definition at line 274 of file ExtrapolationCell.h.
| double Trk::ExtrapolationCell< T >::materialLimitL0 |
given material limit in L0
Definition at line 275 of file ExtrapolationCell.h.
| double Trk::ExtrapolationCell< T >::materialLimitX0 |
given material limit in X0
Definition at line 273 of file ExtrapolationCell.h.
| int Trk::ExtrapolationCell< T >::materialProcess |
the material process to be generated
Definition at line 276 of file ExtrapolationCell.h.
| MaterialUpdateMode Trk::ExtrapolationCell< T >::materialUpdateMode |
how to deal with the material effect, default: addNoise
Definition at line 282 of file ExtrapolationCell.h.
| double Trk::ExtrapolationCell< T >::materialX0 |
collected material so far in units of X0
Definition at line 272 of file ExtrapolationCell.h.
| MagneticFieldProperties Trk::ExtrapolationCell< T >::mFieldMode |
what magnetic field mode to be used, default : fullField
Definition at line 281 of file ExtrapolationCell.h.
| bool Trk::ExtrapolationCell< T >::navigationCurvilinear |
stay in curvilinear parameters where possible, default : true
Definition at line 284 of file ExtrapolationCell.h.
| int Trk::ExtrapolationCell< T >::navigationStep |
a counter of the navigation Step
Definition at line 268 of file ExtrapolationCell.h.
| 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.
| double Trk::ExtrapolationCell< T >::pathLength |
the path length accumulated
Definition at line 269 of file ExtrapolationCell.h.
| double Trk::ExtrapolationCell< T >::pathLimit |
the maximal limit of the extrapolation
Definition at line 270 of file ExtrapolationCell.h.
| ParticleHypothesis Trk::ExtrapolationCell< T >::pHypothesis |
what particle hypothesis to be used, default : pion
Definition at line 279 of file ExtrapolationCell.h.
| PropDirection Trk::ExtrapolationCell< T >::propDirection |
this is the propagation direction
Definition at line 260 of file ExtrapolationCell.h.
| 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.
| bool Trk::ExtrapolationCell< T >::sensitiveCurvilinear |
stay in curvilinear parameters even on the destination surface
Definition at line 286 of file ExtrapolationCell.h.
| const Layer* Trk::ExtrapolationCell< T >::startLayer |
the start layer - needed for layerToLayer loop
Definition at line 236 of file ExtrapolationCell.h.
| T* Trk::ExtrapolationCell< T >::startParameters |
by reference - need to be defined
Definition at line 233 of file ExtrapolationCell.h.
| const TrackingVolume* Trk::ExtrapolationCell< T >::startVolume |
the start volume - needed for the volumeToVolume loop
Definition at line 235 of file ExtrapolationCell.h.
| float Trk::ExtrapolationCell< T >::time |
timing info
Definition at line 297 of file ExtrapolationCell.h.
| float Trk::ExtrapolationCell< T >::zOaTrX |
z/A*rho*dInX0 (for average calculations)
Definition at line 299 of file ExtrapolationCell.h.
| float Trk::ExtrapolationCell< T >::zX |
z*dInX0 (for average calculations)
Definition at line 300 of file ExtrapolationCell.h.
1.8.18