Back to home page

Project CMSSW displayed by LXR

 
 

    


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