Go to the documentation of this file.00001 #ifndef RecoLocalMuon_DTLinearDriftAlgo_H
00002 #define RecoLocalMuon_DTLinearDriftAlgo_H
00003
00014 #include "RecoLocalMuon/DTRecHit/interface/DTRecHitBaseAlgo.h"
00015
00016
00017
00018 class DTLinearDriftAlgo : public DTRecHitBaseAlgo {
00019 public:
00021 DTLinearDriftAlgo(const edm::ParameterSet& config);
00022
00024 virtual ~DTLinearDriftAlgo();
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
00086 static float vDrift;
00087
00088
00089
00090
00091 static float hitResolution;
00092
00093
00094 static float minTime;
00095
00096
00097 static float maxTime;
00098
00099
00100 static bool debug;
00101 };
00102 #endif
00103
00104