File indexing completed on 2024-04-06 12:26:06
0001 #ifndef RecoLocalMuon_DTLinearDriftAlgo_H
0002 #define RecoLocalMuon_DTLinearDriftAlgo_H
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #include "RecoLocalMuon/DTRecHit/interface/DTRecHitBaseAlgo.h"
0013 #include "FWCore/Framework/interface/ConsumesCollector.h"
0014
0015 class DTLinearDriftAlgo : public DTRecHitBaseAlgo {
0016 public:
0017
0018 DTLinearDriftAlgo(const edm::ParameterSet& config, edm::ConsumesCollector);
0019
0020
0021 ~DTLinearDriftAlgo() override;
0022
0023
0024
0025
0026 void setES(const edm::EventSetup& setup) override;
0027
0028
0029
0030
0031
0032 bool compute(const DTLayer* layer,
0033 const DTDigi& digi,
0034 LocalPoint& leftPoint,
0035 LocalPoint& rightPoint,
0036 LocalError& error) const override;
0037
0038
0039
0040
0041 bool compute(const DTLayer* layer,
0042 const DTRecHit1D& recHit1D,
0043 const float& angle,
0044 DTRecHit1D& newHit1D) const override;
0045
0046
0047
0048
0049
0050
0051 bool compute(const DTLayer* layer,
0052 const DTRecHit1D& recHit1D,
0053 const float& angle,
0054 const GlobalPoint& globPos,
0055 DTRecHit1D& newHit1D) const override;
0056
0057 private:
0058
0059 virtual bool compute(const DTLayer* layer,
0060 const DTWireId& wireId,
0061 const float digiTime,
0062 const GlobalPoint& globPos,
0063 LocalPoint& leftPoint,
0064 LocalPoint& rightPoint,
0065 LocalError& error,
0066 int step) const;
0067
0068
0069 virtual bool compute(const DTLayer* layer,
0070 const DTWireId& wireId,
0071 const float digiTime,
0072 const GlobalPoint& globPos,
0073 DTRecHit1D& newHit1D,
0074 int step) const;
0075
0076
0077 const float vDrift;
0078
0079
0080
0081
0082 const float hitResolution;
0083
0084
0085 const float minTime;
0086
0087
0088 const float maxTime;
0089
0090
0091 const bool debug;
0092 };
0093 #endif