CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/RecoLocalMuon/DTRecHit/plugins/DTNoDriftAlgo.h

Go to the documentation of this file.
00001 #ifndef RecoLocalMuon_DTNoDriftAlgo_H
00002 #define RecoLocalMuon_DTNoDriftAlgo_H
00003 
00015 #include "RecoLocalMuon/DTRecHit/interface/DTRecHitBaseAlgo.h"
00016 
00017 
00018 
00019 class DTNoDriftAlgo : public DTRecHitBaseAlgo {
00020  public:
00022   DTNoDriftAlgo(const edm::ParameterSet& config);
00023 
00025   virtual ~DTNoDriftAlgo();
00026 
00027   // Operations
00028 
00030   virtual void setES(const edm::EventSetup& setup);
00031 
00032 
00036   virtual edm::OwnVector<DTRecHit1DPair> reconstruct(const DTLayer* layer,
00037                                                      const DTLayerId& layerId,
00038                                                      const DTDigiCollection::Range& digiRange);
00039 
00040 
00045   virtual bool compute(const DTLayer* layer,
00046                        const DTDigi& digi,
00047                        LocalPoint& leftPoint,
00048                        LocalPoint& rightPoint,
00049                        LocalError& error) const;
00050 
00051 
00055   virtual bool compute(const DTLayer* layer,
00056                        const DTRecHit1D& recHit1D,
00057                        const float& angle,
00058                        DTRecHit1D& newHit1D) const;
00059 
00060 
00066   virtual bool compute(const DTLayer* layer,
00067                        const DTRecHit1D& recHit1D,
00068                        const float& angle,
00069                        const GlobalPoint& globPos, 
00070                        DTRecHit1D& newHit1D) const;
00071 
00072 
00073  private:
00074 
00075   // Do the actual work.
00076   virtual bool compute(const DTLayer* layer,
00077                        const DTWireId& wireId,
00078                        const float digiTime,
00079                        const GlobalPoint& globPos, 
00080                        LocalPoint& leftPoint,
00081                        LocalPoint& rightPoint,
00082                        LocalError& error,
00083                        int step) const;
00084 
00085   // Interface to the method which does the actual work suited for 2nd and 3rd steps 
00086   virtual bool compute(const DTLayer* layer,
00087                        const DTWireId& wireId,
00088                        const float digiTime,
00089                        const GlobalPoint& globPos, 
00090                        DTRecHit1D& newHit1D,
00091                        int step) const;
00092 
00093 
00094   // The Drift Velocity (cm/ns)
00095   static float fixedDrift;
00096 
00097   // The resolution on the Hits (cm)
00098   static float hitResolution;
00099 
00100   // Times below MinTime (ns) are considered as coming from previous BXs.
00101   static float minTime;
00102 
00103   // Times above MaxTime (ns) are considered as coming from following BXs
00104   static float maxTime;
00105 
00106   // Switch on/off the verbosity
00107   static bool debug;
00108 };
00109 #endif
00110 
00111