File indexing completed on 2024-09-07 04:38:13
0001 #ifndef FullConvolutionWithMaterial_h_
0002 #define FullConvolutionWithMaterial_h_
0003
0004 #include "TrackingTools/GsfTracking/interface/GsfMaterialEffectsUpdator.h"
0005 #include "TrackingTools/GsfTools/interface/MultiTrajectoryStateAssembler.h"
0006 #include "DataFormats/TrajectorySeed/interface/PropagationDirection.h"
0007 #include "DataFormats/GeometryCommonDetAlgo/interface/DeepCopyPointerByClone.h"
0008
0009
0010
0011
0012
0013
0014
0015 class FullConvolutionWithMaterial {
0016 public:
0017
0018 FullConvolutionWithMaterial(const GsfMaterialEffectsUpdator& aMEUpdator) : theMEUpdator(aMEUpdator.clone()) {}
0019
0020 ~FullConvolutionWithMaterial() {}
0021
0022
0023 TrajectoryStateOnSurface operator()(const TrajectoryStateOnSurface&, const PropagationDirection) const;
0024
0025
0026 inline const GsfMaterialEffectsUpdator& materialEffectsUpdator() const { return *theMEUpdator; }
0027
0028
0029 FullConvolutionWithMaterial* clone() const { return new FullConvolutionWithMaterial(*this); }
0030
0031 private:
0032
0033 DeepCopyPointerByClone<GsfMaterialEffectsUpdator> theMEUpdator;
0034
0035
0036
0037 };
0038 #endif