|
ATLAS Offline Software
|
Go to the documentation of this file.
9 #ifndef TRKEXUTILS_TARGETSURFACES_H
10 #define TRKEXUTILS_TARGETSURFACES_H
220 std::vector<TargetSurfaceVector>
280 #endif // TRKEXUTILS_TARGETSURFACES_H
const Trk::TrackingVolume * currentDense()
current material volume/input for propagation
unsigned int m_numAlongPath
void save(Trk::TargetSurface &tt, bool base)
bool checkDistance(const Amg::Vector3D &position, const Amg::Vector3D &direction, double nextStep)
distance reevaluation
const Trk::TrackingVolume * currentFrame()
current material volume/input for propagation
target surface info ( navigation )
const Trk::TrackingVolume * m_currentDense
~TargetSurface()=default
Destructor.
void setDistance(double dAlongPath, double dMin, float sign)
Distance info.
const TrackingVolume * assocVol
ExtrapolationCell< TrackParameters > ExCellCharged
bool flipDirection()
step over intersection
TargetSurface(const Surface *sf, BoundaryCheck bc, SurfNavigType stype, int ind, const TrackingVolume *tVol, TVNavigType vtype)
Constructor.
Amg::Vector3D intersection
void setStatus(int st)
Navigation status info.
void fillSolutions(int index, Amg::Vector3D gp, TargetSurfaceVector &solutions)
intersections
TargetSurfaces()=default
Constructor.
~TargetSurfaces()=default
Destructor.
void fastDistanceUpdate(double step)
fast approximative update ( real distance > distance estimate )
bool updateDistance(int index, Trk::TargetSurface &tt, const Amg::Vector3D &position, const Amg::Vector3D &direction)
double distanceToNext()
estimated distance along path to the nearest surface
TargetSurfaceVector orderIntersections() const
Ensure that the ATLAS eigen extensions are properly loaded.
void setDebugModeOn()
set debug mode
TargetSurfaceVector m_ordered
bool initFrameVolume(const Amg::Vector3D &position, const Amg::Vector3D &direction, const Trk::TrackingVolume *)
update of target surfaces at input or at frame volume boundary
std::vector< TargetSurfaceVector > m_tempSurfaces
Eigen::Matrix< double, 3, 1 > Vector3D
ExtrapolationCell< NeutralParameters > ExCellNeutral
int nextSf()
index of nearest surface
void setDebugModeOff()
set debug mode
void evaluateInputDistance(Trk::TargetSurface &tt, const Amg::Vector3D &pos, const Amg::Vector3D &dir, bool base)
std::vector< TargetSurface > TargetSurfaceVector
unsigned numSf()
number of intersections along path
void setPosition(Amg::Vector3D intPos)
Intersection info.
bool debugMode()
debug mode
TargetSurfaceVector orderedIntersections(const Trk::ExCellNeutral &, const Trk::Surface *sf, const BoundaryCheck &bc)
Ordered intersections for neutral transport, step into new frame volume.
Trk::ExtrapolationCode setOnInput(const Trk::ExCellCharged &, const Trk::Surface *sf, const BoundaryCheck &bc)
Extract surfaces for charged propagation, step into new frame volume.
TargetSurfaceVector m_baseSurfaces
SurfNavigType
typedef for surface and volume navigation types
const Trk::TrackingVolume * m_currentFrame