1 #ifndef Alignment_ReferenceTrajectories_ReferenceTrajectory_H 2 #define Alignment_ReferenceTrajectories_ReferenceTrajectory_H 43 #include "GblTrajectory.h" 114 virtual void fillTrajectoryPositions(
const AlgebraicMatrix &projection,
120 virtual bool addMaterialEffectsCov(
const std::vector<AlgebraicMatrix> &allJacobians,
121 const std::vector<AlgebraicMatrix> &allProjections,
122 const std::vector<AlgebraicSymMatrix> &allCurvChanges,
123 const std::vector<AlgebraicSymMatrix> &allDeltaParaCovs);
127 virtual bool addMaterialEffectsBp (
const std::vector<AlgebraicMatrix> &allJacobians,
128 const std::vector<AlgebraicMatrix> &allProjections,
129 const std::vector<AlgebraicSymMatrix> &allCurvChanges,
130 const std::vector<AlgebraicSymMatrix> &allDeltaParaCovs,
131 const std::vector<AlgebraicMatrix> &allLocalToCurv);
135 virtual bool addMaterialEffectsBrl(
const std::vector<AlgebraicMatrix> &allJacobians,
136 const std::vector<AlgebraicMatrix> &allProjections,
137 const std::vector<AlgebraicSymMatrix> &allCurvChanges,
138 const std::vector<AlgebraicSymMatrix> &allDeltaParaCovs,
139 const std::vector<AlgebraicMatrix> &allLocalToCurv,
143 virtual bool addMaterialEffectsBrl(
const std::vector<AlgebraicMatrix> &allProjections,
144 const std::vector<AlgebraicSymMatrix> &allDeltaParaCovs,
145 const std::vector<AlgebraicMatrix> &allLocalToCurv,
146 const std::vector<double> &allSteps,
148 const double minStep = 1.0);
152 virtual bool addMaterialEffectsLocalGbl(
const std::vector<AlgebraicMatrix> &allJacobians,
153 const std::vector<AlgebraicMatrix> &allProjections,
154 const std::vector<AlgebraicSymMatrix> &allCurvatureChanges,
155 const std::vector<AlgebraicSymMatrix> &allDeltaParameterCovs);
159 virtual bool addMaterialEffectsCurvlinGbl(
const std::vector<AlgebraicMatrix> &allJacobians,
160 const std::vector<AlgebraicMatrix> &allProjections,
161 const std::vector<AlgebraicSymMatrix> &allCurvChanges,
162 const std::vector<AlgebraicSymMatrix> &allDeltaParaCovs,
163 const std::vector<AlgebraicMatrix> &allLocalToCurv);
181 template <
unsigned int N>
185 template <
typename Derived>
187 template <
typename Derived>
188 void clhep2eigen(
const AlgebraicMatrix& in, Eigen::MatrixBase<Derived>& out);
189 template <
typename Derived>
const bool allowZeroMaterial_
SurfaceSide surfaceSide(const PropagationDirection dir) const
const PropagationDirection propDir_
SurfaceSideDefinition::SurfaceSide SurfaceSide
CLHEP::HepMatrix AlgebraicMatrix
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
~ReferenceTrajectory() override
const MaterialEffects materialEffects_
std::vector< ConstRecHitPointer > ConstRecHitContainer
ReferenceTrajectory * clone() const override
CLHEP::HepVector AlgebraicVector
CLHEP::HepSymMatrix AlgebraicSymMatrix