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.