|
ATLAS Offline Software
|
Go to the documentation of this file.
15 #ifndef SiTrajectoryElement_xk_H
16 #define SiTrajectoryElement_xk_H
159 template <
typename T>
165 const EventContext& ctx);
195 template <
typename T>
202 const EventContext& ctx);
210 template <
typename T>
241 template <
typename T>
244 template <
typename T>
246 template <
typename T>
248 template <
typename T>
256 template <
typename T>
258 template <
typename T>
260 template <
typename T>
338 const EventContext& ctx);
542 #endif // SiTrajectoryElement_xk
bool addClusterPrecise(Trk::PatternTrackParameters &, Trk::PatternTrackParameters &, double &)
const double & xi2B() const
const double & energylose() const
bool isNextClusterHoleF(bool &, double &)
checks if removing this cluster from the forward propagation would result in a critical number of hol...
const int & nholesF() const
const double & step() const
bool rungeKuttaToPlane(bool updateJacobian, double *globalPars)
Runge Kutta step to plane Updates the "globalPars" array, which is also used to pass the input.
int searchClustersSub(Trk::PatternTrackParameters &, SiClusterLink_xk *)
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
const int & nlinksB() const
bool BackwardPropagationFilter(SiTrajectoryElement_xk &, const EventContext &ctx)
double m_localDir[3]
the transform for this element
const int & nholesB() const
bool transformGlobalToPlane(bool updateJacobian, double *globalPars, Trk::PatternTrackParameters &startingParameters, Trk::PatternTrackParameters &outputParameters)
Tramsform from global to plane surface Will take the global parameters in globalPars,...
const int & inside() const
bool propagateParameters(Trk::PatternTrackParameters &startingParameters, Trk::PatternTrackParameters &outParameters, double &step)
Start from 'startingParameters', propagate to current surface.
bool combineStates(Trk::PatternTrackParameters &, Trk::PatternTrackParameters &, Trk::PatternTrackParameters &)
const int & nlinksF() const
Trk::TrackStateOnSurface * m_tsos[3]
bool initiateStateWithCorrection(Trk::PatternTrackParameters &, Trk::PatternTrackParameters &, Trk::PatternTrackParameters &)
Eigen::Matrix< double, 2, 1 > Vector2D
const InDet::SiDetElementBoundaryLink_xk * m_detlink
bool lastTrajectorElement()
const Trk::IRIO_OnTrackCreator * m_riotool
const InDet::SiCluster * m_cluster
bool isNextClusterHoleB(bool &, double &)
const InDet::SiCluster * clusterOld() const
Amg::MatrixX m_covariance
const double & xi2totalF() const
const double & dist() const
bool setDead(const Trk::Surface *)
int searchClustersWithStereo(Trk::PatternTrackParameters &, SiClusterLink_xk *)
bool addClusterPreciseWithCorrection(Trk::PatternTrackParameters &, Trk::PatternTrackParameters &, Trk::PatternTrackParameters &, double &)
bool lastTrajectorElementPrecise()
void patternCovariances(const InDet::SiCluster *, double &, double &, double &) const
Private Methods.
void setCluster(const InDet::SiCluster *)
interface for track parameter propagation through the magnetic field, using the Trk::PatternTrackPara...
int searchClustersWithStereoAss(Trk::PatternTrackParameters &, SiClusterLink_xk *, const Trk::PRDtoTrackMap &)
double m_xi2totalBackward
const Trk::PatternTrackParameters & parametersUB() const
observed
Trk::TrackStateOnSurface * trackSimpleStateOnSurface(bool, bool, int)
void eraseClusterForwardPropagation()
const int & noiseModel() const
const Trk::Surface * m_surface
int m_detstatus
0 (no clusters)
const double & xi2totalB() const
~SiTrajectoryElement_xk()=default
int numberClusters() const
const int & detstatus() const
int searchClustersWithoutStereoSCT(Trk::PatternTrackParameters &, SiClusterLink_xk *)
const Trk::Surface * surface() const
void setParametersB(Trk::PatternTrackParameters &)
const int & npixelsB() const
Trk::PatternTrackParameters m_parametersPredBackward
For backward filtering / smoothing Predicted state, backward.
void noiseProduction(int, const Trk::PatternTrackParameters &, double rad_length=-1., bool useMomentum=false)
Interface for updating Trk::PatternTrackParameters, the fast internal representation of track paramet...
bool propagate(Trk::PatternTrackParameters &startingParameters, Trk::PatternTrackParameters &outParameters, double &step, const EventContext &ctx)
Will propagate the startingParameters from their reference to the surface associated with this elemen...
const Trk::PatternTrackParameters & parametersPB() const
predicted
void setTools(const InDet::SiTools_xk *)
double quality(int &) const
Trk::PatternTrackParameters m_parametersUpdatedForward
Updated state, forward.
bool ForwardPropagationWithSearch(SiTrajectoryElement_xk &, const EventContext &)
double m_localTransform[13]
bool firstTrajectorElement(const Trk::TrackParameters &, const EventContext &ctx)
Trk::PatternTrackParameters m_parametersUpdatedBackward
Updated state, backward.
const Trk::IPatternParametersUpdator * m_updatorTool
InDet::SiClusterLink_xk m_linkForward[10]
const int & dholesB() const
const InDet::SiCluster * clusterNoAdd() const
IteratorType
Private Data.
int searchClustersWithoutStereoPIX(Trk::PatternTrackParameters &, SiClusterLink_xk *)
Trk::TrackStateOnSurface * trackStateOnSurface(bool, bool, bool, int)
Amg::Vector3D globalPosition()
const InDetDD::SiDetectorElement * m_detelement
bool initiateStatePrecise(Trk::PatternTrackParameters &, Trk::PatternTrackParameters &)
const InDet::SiClusterLink_xk & linkB(int i) const
bool initiateState(Trk::PatternTrackParameters &inputPars, Trk::PatternTrackParameters &outputPars)
inputPars: input parameters.
bool straightLineStepToPlane(bool updateJacobian, double *globalPars)
Straight line step to plane Updates the "globalPars" array, which is also used to pass the input.
void checkBoundaries(const Trk::PatternTrackParameters &pars)
Trk::NoiseOnSurface m_noise
Trk::PatternTrackParameters m_parametersPredForward
Pattern track parameters.
bool BackwardPropagationPrecise(SiTrajectoryElement_xk &, const EventContext &ctx)
const double & radlength() const
const InDetDD::SiDetectorElement * detElement() const
const int & ndist() const
number of crossed without hit - dead + holes
const Trk::PatternTrackParameters & parametersPF() const
track parameters for forward filter / smoother predicted
int searchClustersWithoutStereoAssSCT(Trk::PatternTrackParameters &, SiClusterLink_xk *, const Trk::PRDtoTrackMap &)
const int & nclustersB() const
const int & dholesF() const
bool BackwardPropagationSmoother(SiTrajectoryElement_xk &, bool, const EventContext &ctx)
void CloseClusterSeach(Trk::PatternTrackParameters &Tpa, const InDet::SiDetElementBoundaryLink_xk *&dl, const T &sb, const T &se)
T = InDet::SiClusterCollection::const_iterator or InDet::PixelClusterCollection::const_iterator or In...
void precisePosCov(Trk::PatternTrackParameters &)
Trk::TrackStateOnSurface * tsos(int i)
const Trk::PRDtoTrackMap * m_prdToTrackMap
const InDet::SiCluster * cluster() const
represents the track state (measurement, material, fit parameters and quality) at a surface.
const Trk::IPatternParametersPropagator * m_proptool
bool set(int st, const InDet::SiDetElementBoundaryLink_xk *&dl, const T &sb, const T &se, const InDet::SiCluster *si, const EventContext &ctx)
T = InDet::SiClusterCollection::const_iterator or InDet::PixelClusterCollection::const_iterator or In...
Trk::TrackStateOnSurface * trackPerigeeStateOnSurface(const EventContext &ctx)
const Trk::PatternTrackParameters & parametersUF() const
updated
Eigen::Matrix< double, 3, 1 > Vector3D
bool difference() const
check for a difference between forward and back propagation
const int & ntsos() const
bool ForwardPropagationWithoutSearchPreciseWithCorrection(SiTrajectoryElement_xk &, const EventContext &)
InDet::SiClusterLink_xk m_linkBackward[10]
Trk::PatternTrackParameters m_parametersSM
void setParametersF(Trk::PatternTrackParameters &)
static constexpr double s_oneOverTwelve
MagField::AtlasFieldCache m_fieldCache
int searchClusters(Trk::PatternTrackParameters &, SiClusterLink_xk *)
bool transformPlaneToGlobal(bool, Trk::PatternTrackParameters &localParameters, double *globalPars)
Tramsform from plane to global Will take the surface and parameters from localParameters and populate...
const double & xi2F() const
const InDet::SiCluster * m_clusterOld
int searchClustersWithoutStereoAssPIX(Trk::PatternTrackParameters &, SiClusterLink_xk *, const Trk::PRDtoTrackMap &)
void setDeadRadLength(Trk::PatternTrackParameters &)
Local cache for magnetic field (based on MagFieldServices/AtlasFieldSvcTLS.h)
bool addCluster(Trk::PatternTrackParameters &, Trk::PatternTrackParameters &, double &)
const InDet::SiCluster * m_clusterNoAdd
bool ForwardPropagationForClusterSeach(int n, const Trk::TrackParameters &Tpa, const InDet::SiDetElementBoundaryLink_xk *&dl, const T &sb, const T &se, const EventContext &ctx)
T = InDet::SiClusterCollection::const_iterator or InDet::PixelClusterCollection::const_iterator or In...
const int & nclustersF() const
const bool & stereo() const
const int & status() const
const InDet::SiTools_xk * m_tools
const Trk::PatternTrackParameters & parametersSM() const
const Trk::PatternTrackParameters * parameters() const
return pattern parameters matching the status of this element
SiTrajectoryElement_xk & operator=(const SiTrajectoryElement_xk &)
Interface class for transforming Trk::PrepRawData to Trk::RIO_OnTrack using a local track hypothesis.
std::unique_ptr< Trk::TrackParameters > trackParameters(bool, int)
const InDet::SiClusterLink_xk & linkF(int i) const
void setClusterB(const InDet::SiCluster *, double)
std::unique_ptr< Trk::TrackParameters > trackParametersWithNewDirection(bool, int)
bool ForwardPropagationWithoutSearch(SiTrajectoryElement_xk &, const EventContext &)