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