File indexing completed on 2024-04-06 12:28:51
0001 #ifndef RecoTracker_TkMSParametrization_MSLayersKeepers_h
0002 #define RecoTracker_TkMSParametrization_MSLayersKeepers_h
0003
0004 #include "FWCore/Utilities/interface/propagate_const.h"
0005 #include "MagneticField/Engine/interface/MagneticField.h"
0006 #include "RecoTracker/TkDetLayers/interface/GeometricSearchTracker.h"
0007 #include "RecoTracker/TkMSParametrization/interface/MultipleScatteringParametrisation.h"
0008
0009 class DetLayer;
0010
0011 class MultipleScatteringParametrisationMaker {
0012 public:
0013 enum class X0Source { useDetLayer = 0, useX0AtEta = 1, useX0DataAveraged = 2 };
0014
0015 MultipleScatteringParametrisationMaker(GeometricSearchTracker const& tracker, MagneticField const& bfield);
0016 ~MultipleScatteringParametrisationMaker();
0017
0018 MultipleScatteringParametrisation parametrisation(const DetLayer* layer,
0019 X0Source x0Source = X0Source::useX0AtEta) const;
0020
0021 private:
0022 struct Keepers;
0023 edm::propagate_const<std::unique_ptr<Keepers>> impl_;
0024 };
0025
0026 #endif