CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/RecoLocalMuon/DTRecHit/plugins/DTLinearDriftAlgo.h

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   // Operations
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   // Do the actual work.
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   // Interface to the method which does the actual work suited for 2nd and 3rd steps 
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   // The Drift Velocity (cm/ns)
00086   static float vDrift;
00087   // // The Drift Velocity (cm/ns) for MB1 Wheel1 (non fluxed chamber) 21-Dec-2006 SL
00088   // static float vDriftMB1W1;
00089 
00090   // The resolution on the Hits (cm)
00091   static float hitResolution;
00092 
00093   // Times below MinTime (ns) are considered as coming from previous BXs.
00094   static float minTime;
00095 
00096   // Times above MaxTime (ns) are considered as coming from following BXs
00097   static float maxTime;
00098 
00099   // Switch on/off the verbosity
00100   static bool debug;
00101 };
00102 #endif
00103 
00104