CMS 3D CMS Logo

List of all members | Classes | Public Types | Public Member Functions | Private Attributes
MultipleScatteringParametrisationMaker Class Reference

#include <MultipleScatteringParametrisationMaker.h>

Classes

struct  Keepers
 

Public Types

enum  X0Source { X0Source::useDetLayer = 0, X0Source::useX0AtEta = 1, X0Source::useX0DataAveraged = 2 }
 

Public Member Functions

 MultipleScatteringParametrisationMaker (GeometricSearchTracker const &tracker, MagneticField const &bfield)
 
MultipleScatteringParametrisation parametrisation (const DetLayer *layer, X0Source x0Source=X0Source::useX0AtEta) const
 
 ~MultipleScatteringParametrisationMaker ()
 

Private Attributes

edm::propagate_const< std::unique_ptr< Keepers > > impl_
 

Detailed Description

Definition at line 11 of file MultipleScatteringParametrisationMaker.h.

Member Enumeration Documentation

◆ X0Source

Enumerator
useDetLayer 
useX0AtEta 
useX0DataAveraged 

Definition at line 13 of file MultipleScatteringParametrisationMaker.h.

13 { useDetLayer = 0, useX0AtEta = 1, useX0DataAveraged = 2 };

Constructor & Destructor Documentation

◆ MultipleScatteringParametrisationMaker()

MultipleScatteringParametrisationMaker::MultipleScatteringParametrisationMaker ( GeometricSearchTracker const &  tracker,
MagneticField const &  bfield 
)

Definition at line 19 of file MultipleScatteringParametrisationMaker.cc.

21  : impl_(std::make_unique<Keepers>(tracker, bfield)) {}
edm::propagate_const< std::unique_ptr< Keepers > > impl_

◆ ~MultipleScatteringParametrisationMaker()

MultipleScatteringParametrisationMaker::~MultipleScatteringParametrisationMaker ( )
default

Member Function Documentation

◆ parametrisation()

MultipleScatteringParametrisation MultipleScatteringParametrisationMaker::parametrisation ( const DetLayer layer,
X0Source  x0Source = X0Source::useX0AtEta 
) const

Definition at line 25 of file MultipleScatteringParametrisationMaker.cc.

References impl_, and pixelTopology::layer.

Referenced by ThirdHitCorrection::init(), and ThirdHitPrediction::isCompatibleWithMultipleScattering().

26  {
27  return MultipleScatteringParametrisation(layer, impl_->keepers[static_cast<int>(x0Source)]);
28 }
constexpr std::array< uint8_t, layerIndexSize< TrackerTraits > > layer
edm::propagate_const< std::unique_ptr< Keepers > > impl_

Member Data Documentation

◆ impl_

edm::propagate_const<std::unique_ptr<Keepers> > MultipleScatteringParametrisationMaker::impl_
private

Definition at line 22 of file MultipleScatteringParametrisationMaker.h.

Referenced by parametrisation().