Go to the documentation of this file.00001 #ifndef InnerDeltaPhi_H
00002 #define InnerDeltaPhi_H
00003
00005 #include <fstream>
00006 #include "FWCore/Framework/interface/EventSetup.h"
00007
00008 #include "RecoTracker/TkTrackingRegions/interface/TrackingRegion.h"
00009 #include "RecoTracker/TkMSParametrization/interface/MultipleScatteringParametrisation.h"
00010
00011 class DetLayer;
00012 template<class T> class PixelRecoRange;
00013
00014 #include "DataFormats/GeometryVector/interface/Basic2DVector.h"
00015
00016 class InnerDeltaPhi {
00017 public:
00018
00019 typedef Basic2DVector<double> Point2D;
00020
00021 InnerDeltaPhi( const DetLayer& layer,
00022 const TrackingRegion & region,
00023 const edm::EventSetup& iSetup,
00024 bool precise = true,
00025 float extraTolerance = 0.f);
00026
00027 ~InnerDeltaPhi();
00028
00029 float operator()( float rHit, float zHit, float errRPhi) const;
00030
00031 PixelRecoRange<float> operator()( float rHit, float phiHit, float zHit, float errRPhi) const;
00032
00033 private:
00034
00035 bool theRDefined;
00036 bool thePrecise;
00037
00038
00039 float theROrigin;
00040 float theRLayer;
00041 float theThickness;
00042
00043 float theRCurvature;
00044 float theExtraTolerance;
00045 float theA;
00046 float theB;
00047
00048 float theVtxZ;
00049 float thePtMin;
00050
00051 Point2D theVtx;
00052
00053
00054 MultipleScatteringParametrisation sigma;
00055
00056
00057 private:
00058
00059 void initBarrelLayer( const DetLayer& layer);
00060 void initForwardLayer( const DetLayer& layer, float zMinOrigin, float zMaxOrigin);
00061
00062 PixelRecoRange<float> phiRange( const Point2D & hitXY, float zHit, float errRPhi) const;
00063 float minRadius( float hitR, float hitZ) const;
00064
00065 };
00066
00067 #endif