CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
MultipleScatteringParametrisationMaker.cc
Go to the documentation of this file.
2 
3 #include "MSLayersKeeper.h"
7 #include "MSLayersAtAngle.h"
8 
10  Keepers(GeometricSearchTracker const& tracker, MagneticField const& bfield)
11  : x0AtEta(tracker, bfield), x0Averaged(tracker, bfield), keepers{&x0DetLayer, &x0AtEta, &x0Averaged} {}
12 
16  MSLayersKeeper* keepers[3]; // {&x0DetLayer,&x0AtEta,&x0Averaged};
17 };
18 
20  MagneticField const& bfield)
21  : impl_(std::make_unique<Keepers>(tracker, bfield)) {}
22 
24 
26  X0Source x0Source) const {
27  return MultipleScatteringParametrisation(layer, impl_->keepers[static_cast<int>(x0Source)]);
28 }
constexpr std::array< uint8_t, layerIndexSize > layer
MultipleScatteringParametrisation parametrisation(const DetLayer *layer, X0Source x0Source=X0Source::useX0AtEta) const
MultipleScatteringParametrisationMaker(GeometricSearchTracker const &tracker, MagneticField const &bfield)
Keepers(GeometricSearchTracker const &tracker, MagneticField const &bfield)
edm::propagate_const< std::unique_ptr< Keepers > > impl_