Go to the documentation of this file.00001 #ifndef MultipleScatteringParametrisation_H
00002 #define MultipleScatteringParametrisation_H
00003
00007 #include "TrackingTools/DetLayers/interface/DetLayer.h"
00008 #include "RecoTracker/TkMSParametrization/interface/PixelRecoPointRZ.h"
00009 #include "RecoTracker/TkMSParametrization/interface/MSLayer.h"
00010 #include "FWCore/Framework/interface/EventSetup.h"
00011
00012 class MSLayersKeeper;
00013 class PixelRecoPointRZ;
00014 class DetLayer;
00015
00016
00017
00018 class MultipleScatteringParametrisation {
00019
00020 public:
00021
00022 enum X0Source { useDetLayer, useX0AtEta, useX0DataAveraged };
00023 enum Consecutive { notAssumeConsecutive, useConsecutive };
00024
00025 MultipleScatteringParametrisation( const DetLayer* layer,
00026 const edm::EventSetup &iSetup,
00027 X0Source x0source = useX0AtEta);
00028
00029
00032 float operator()(float pt, float cotTheta, float transverseIP = 0.) const;
00033
00037 float operator()(float pt,
00038 float cotTheta,
00039 const PixelRecoPointRZ & point,
00040 float transverseIP = 0.) const;
00041
00046 float operator()(float pt,
00047 const PixelRecoPointRZ & point1,
00048 const PixelRecoPointRZ & point2,
00049 Consecutive consecutive = notAssumeConsecutive,
00050 float transverseIP = 0.) const;
00051
00052 private:
00053
00054 MSLayer theLayer;
00055 MSLayersKeeper * theLayerKeeper;
00056 static const float x0ToSigma;
00057
00058 };
00059 #endif