Go to the documentation of this file.00001 #ifndef RecoLocalMuon_DTLinearDrifFromDBtAlgo_H
00002 #define RecoLocalMuon_DTLinearDriftFromDBAlgo_H
00003
00014 #include "RecoLocalMuon/DTRecHit/interface/DTRecHitBaseAlgo.h"
00015
00016 class DTMtime;
00017
00018 class DTLinearDriftFromDBAlgo : public DTRecHitBaseAlgo {
00019 public:
00021 DTLinearDriftFromDBAlgo(const edm::ParameterSet& config);
00022
00024 virtual ~DTLinearDriftFromDBAlgo();
00025
00026
00027
00029 virtual void setES(const edm::EventSetup& setup);
00030
00031
00036 virtual bool compute(const DTLayer* layer,
00037 const DTDigi& digi,
00038 LocalPoint& leftPoint,
00039 LocalPoint& rightPoint,
00040 LocalError& error) const;
00041
00042
00046 virtual bool compute(const DTLayer* layer,
00047 const DTRecHit1D& recHit1D,
00048 const float& angle,
00049 DTRecHit1D& newHit1D) const;
00050
00051
00057 virtual bool compute(const DTLayer* layer,
00058 const DTRecHit1D& recHit1D,
00059 const float& angle,
00060 const GlobalPoint& globPos,
00061 DTRecHit1D& newHit1D) const;
00062
00063
00064 private:
00065
00066
00067 virtual bool compute(const DTLayer* layer,
00068 const DTWireId& wireId,
00069 const float digiTime,
00070 const GlobalPoint& globPos,
00071 LocalPoint& leftPoint,
00072 LocalPoint& rightPoint,
00073 LocalError& error,
00074 int step) const;
00075
00076
00077 virtual bool compute(const DTLayer* layer,
00078 const DTWireId& wireId,
00079 const float digiTime,
00080 const GlobalPoint& globPos,
00081 DTRecHit1D& newHit1D,
00082 int step) const;
00083
00084
00085 const DTMtime *mTimeMap;
00086
00087
00088 static float minTime;
00089
00090
00091 static float maxTime;
00092
00093
00094 bool doVdriftCorr;
00095
00096
00097
00098 bool stepTwoFromDigi;
00099
00100
00101 static bool debug;
00102 };
00103 #endif
00104
00105