1 #ifndef Alignment_ReferenceTrajectories_ReferenceTrajectory_H 2 #define Alignment_ReferenceTrajectories_ReferenceTrajectory_H 44 #include <TMatrixDSym.h> 117 virtual void fillTrajectoryPositions(
const AlgebraicMatrix &projection,
123 virtual bool addMaterialEffectsCov(
const std::vector<AlgebraicMatrix> &allJacobians,
124 const std::vector<AlgebraicMatrix> &allProjections,
125 const std::vector<AlgebraicSymMatrix> &allCurvChanges,
126 const std::vector<AlgebraicSymMatrix> &allDeltaParaCovs);
130 virtual bool addMaterialEffectsBp (
const std::vector<AlgebraicMatrix> &allJacobians,
131 const std::vector<AlgebraicMatrix> &allProjections,
132 const std::vector<AlgebraicSymMatrix> &allCurvChanges,
133 const std::vector<AlgebraicSymMatrix> &allDeltaParaCovs,
134 const std::vector<AlgebraicMatrix> &allLocalToCurv);
138 virtual bool addMaterialEffectsBrl(
const std::vector<AlgebraicMatrix> &allJacobians,
139 const std::vector<AlgebraicMatrix> &allProjections,
140 const std::vector<AlgebraicSymMatrix> &allCurvChanges,
141 const std::vector<AlgebraicSymMatrix> &allDeltaParaCovs,
142 const std::vector<AlgebraicMatrix> &allLocalToCurv,
146 virtual bool addMaterialEffectsBrl(
const std::vector<AlgebraicMatrix> &allProjections,
147 const std::vector<AlgebraicSymMatrix> &allDeltaParaCovs,
148 const std::vector<AlgebraicMatrix> &allLocalToCurv,
149 const std::vector<double> &allSteps,
151 const double minStep = 1.0);
155 virtual bool addMaterialEffectsLocalGbl(
const std::vector<AlgebraicMatrix> &allJacobians,
156 const std::vector<AlgebraicMatrix> &allProjections,
157 const std::vector<AlgebraicSymMatrix> &allCurvatureChanges,
158 const std::vector<AlgebraicSymMatrix> &allDeltaParameterCovs);
162 virtual bool addMaterialEffectsCurvlinGbl(
const std::vector<AlgebraicMatrix> &allJacobians,
163 const std::vector<AlgebraicMatrix> &allProjections,
164 const std::vector<AlgebraicSymMatrix> &allCurvChanges,
165 const std::vector<AlgebraicSymMatrix> &allDeltaParaCovs,
166 const std::vector<AlgebraicMatrix> &allLocalToCurv);
184 template <
unsigned int N>
const bool allowZeroMaterial_
SurfaceSide surfaceSide(const PropagationDirection dir) const
virtual ReferenceTrajectory * clone() const
virtual ~ReferenceTrajectory()
const PropagationDirection propDir_
SurfaceSideDefinition::SurfaceSide SurfaceSide
CLHEP::HepMatrix AlgebraicMatrix
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
const MaterialEffects materialEffects_
std::vector< ConstRecHitPointer > ConstRecHitContainer
CLHEP::HepVector AlgebraicVector
CLHEP::HepSymMatrix AlgebraicSymMatrix