|
|
Go to the documentation of this file. 1 #ifndef Alignment_ReferenceTrajectories_ReferenceTrajectory_H
2 #define Alignment_ReferenceTrajectories_ReferenceTrajectory_H
43 #include "GblTrajectory.h"
95 const Plane &newSurface,
123 const std::vector<AlgebraicMatrix> &allProjections,
124 const std::vector<AlgebraicSymMatrix> &allCurvChanges,
125 const std::vector<AlgebraicSymMatrix> &allDeltaParaCovs);
130 const std::vector<AlgebraicMatrix> &allProjections,
131 const std::vector<AlgebraicSymMatrix> &allCurvChanges,
132 const std::vector<AlgebraicSymMatrix> &allDeltaParaCovs,
133 const std::vector<AlgebraicMatrix> &allLocalToCurv);
138 const std::vector<AlgebraicMatrix> &allProjections,
139 const std::vector<AlgebraicSymMatrix> &allCurvChanges,
140 const std::vector<AlgebraicSymMatrix> &allDeltaParaCovs,
141 const std::vector<AlgebraicMatrix> &allLocalToCurv,
146 const std::vector<AlgebraicSymMatrix> &allDeltaParaCovs,
147 const std::vector<AlgebraicMatrix> &allLocalToCurv,
148 const std::vector<double> &allSteps,
150 const double minStep = 1.0);
155 const std::vector<AlgebraicMatrix> &allProjections,
156 const std::vector<AlgebraicSymMatrix> &allCurvatureChanges,
157 const std::vector<AlgebraicSymMatrix> &allDeltaParameterCovs);
162 const std::vector<AlgebraicMatrix> &allProjections,
163 const std::vector<AlgebraicSymMatrix> &allCurvChanges,
164 const std::vector<AlgebraicSymMatrix> &allDeltaParaCovs,
165 const std::vector<AlgebraicMatrix> &allLocalToCurv);
179 template <
unsigned int N>
183 template <
typename Derived>
185 template <
typename Derived>
187 template <
typename Derived>
const TransientTrackingRecHit::ConstRecHitContainer & recHits() const
void clhep2eigen(const AlgebraicVector &in, Eigen::MatrixBase< Derived > &out)
ReferenceTrajectory(const TrajectoryStateOnSurface &referenceTsos, const TransientTrackingRecHit::ConstRecHitContainer &recHits, const MagneticField *magField, const reco::BeamSpot &beamSpot, const ReferenceTrajectoryBase::Config &config)
const bool allowZeroMaterial_
const MaterialEffects materialEffects_
virtual bool propagate(const Plane &previousSurface, const TrajectoryStateOnSurface &previousTsos, const Plane &newSurface, TrajectoryStateOnSurface &newTsos, AlgebraicMatrix &newJacobian, AlgebraicMatrix &newCurvlinJacobian, double &nextStep, const MagneticField *magField) const
virtual bool addMaterialEffectsCov(const std::vector< AlgebraicMatrix > &allJacobians, const std::vector< AlgebraicMatrix > &allProjections, const std::vector< AlgebraicSymMatrix > &allCurvChanges, const std::vector< AlgebraicSymMatrix > &allDeltaParaCovs)
CLHEP::HepVector AlgebraicVector
const caConstants::TupleMultiplicity *__restrict__ const HitsOnGPU *__restrict__ double *__restrict__ float *__restrict__ double *__restrict__ uint32_t nHits
~ReferenceTrajectory() override
SurfaceSide surfaceSide(const PropagationDirection dir) const
MaterialEffectsUpdator * createUpdator(MaterialEffects materialEffects, double mass) const
virtual bool addMaterialEffectsLocalGbl(const std::vector< AlgebraicMatrix > &allJacobians, const std::vector< AlgebraicMatrix > &allProjections, const std::vector< AlgebraicSymMatrix > &allCurvatureChanges, const std::vector< AlgebraicSymMatrix > &allDeltaParameterCovs)
std::vector< ConstRecHitPointer > ConstRecHitContainer
ReferenceTrajectory * clone() const override
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
CLHEP::HepSymMatrix AlgebraicSymMatrix
virtual void fillMeasurementAndError(const TransientTrackingRecHit::ConstRecHitPointer &hitPtr, unsigned int iRow, const TrajectoryStateOnSurface &updatedTsos)
const PropagationDirection propDir_
virtual void fillDerivatives(const AlgebraicMatrix &projection, const AlgebraicMatrix &fullJacobian, unsigned int iRow)
virtual bool construct(const TrajectoryStateOnSurface &referenceTsos, const TransientTrackingRecHit::ConstRecHitContainer &recHits, const MagneticField *magField, const reco::BeamSpot &beamSpot)
CLHEP::HepMatrix AlgebraicMatrix
virtual bool addMaterialEffectsBrl(const std::vector< AlgebraicMatrix > &allJacobians, const std::vector< AlgebraicMatrix > &allProjections, const std::vector< AlgebraicSymMatrix > &allCurvChanges, const std::vector< AlgebraicSymMatrix > &allDeltaParaCovs, const std::vector< AlgebraicMatrix > &allLocalToCurv, const GlobalTrajectoryParameters >p)
virtual bool addMaterialEffectsBp(const std::vector< AlgebraicMatrix > &allJacobians, const std::vector< AlgebraicMatrix > &allProjections, const std::vector< AlgebraicSymMatrix > &allCurvChanges, const std::vector< AlgebraicSymMatrix > &allDeltaParaCovs, const std::vector< AlgebraicMatrix > &allLocalToCurv)
AlgebraicMatrix getHitProjectionMatrixT(const TransientTrackingRecHit::ConstRecHitPointer &recHit) const
AlgebraicMatrix getHitProjectionMatrix(const TransientTrackingRecHit::ConstRecHitPointer &recHit) const
virtual bool addMaterialEffectsCurvlinGbl(const std::vector< AlgebraicMatrix > &allJacobians, const std::vector< AlgebraicMatrix > &allProjections, const std::vector< AlgebraicSymMatrix > &allCurvChanges, const std::vector< AlgebraicSymMatrix > &allDeltaParaCovs, const std::vector< AlgebraicMatrix > &allLocalToCurv)
SurfaceSideDefinition::SurfaceSide SurfaceSide
virtual void fillTrajectoryPositions(const AlgebraicMatrix &projection, const AlgebraicVector &mixedLocalParams, unsigned int iRow)