File indexing completed on 2024-04-06 12:26:08
0001 #ifndef DTSegment_DTHitPairForFit_h
0002 #define DTSegment_DTHitPairForFit_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019 #include "FWCore/Framework/interface/ESHandle.h"
0020 #include "Geometry/DTGeometry/interface/DTGeometry.h"
0021 #include "DataFormats/DTRecHit/interface/DTRecHit1DPair.h"
0022 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
0023 #include "Geometry/DTGeometry/interface/DTSuperLayer.h"
0024
0025
0026
0027
0028
0029
0030
0031 class DTHitPairForFit {
0032 public:
0033
0034 DTHitPairForFit(const DTRecHit1DPair& pair, const DTSuperLayer& sl, const edm::ESHandle<DTGeometry>& dtGeom);
0035
0036
0037 ~DTHitPairForFit();
0038
0039
0040
0041
0042 LocalPoint localPosition(DTEnums::DTCellSide s) const;
0043
0044
0045 LocalPoint leftPos() const { return theLeftPos; }
0046
0047
0048 LocalPoint rightPos() const { return theRightPos; }
0049
0050
0051 LocalError localPositionError() const { return theError; }
0052
0053
0054 const DTWireId& id() const { return theWireId; }
0055
0056
0057 float digiTime() const { return theDigiTime; }
0058
0059
0060
0061
0062 std::pair<bool, bool> isCompatible(const LocalPoint& posIni, const LocalVector& dirIni) const;
0063
0064
0065 bool operator<(const DTHitPairForFit& hit) const;
0066
0067 bool operator==(const DTHitPairForFit& hit) const;
0068
0069 protected:
0070 private:
0071 LocalPoint theLeftPos;
0072 LocalPoint theRightPos;
0073 LocalError theError;
0074 DTWireId theWireId;
0075 float theDigiTime;
0076
0077 };
0078
0079 std::ostream& operator<<(std::ostream& out, const DTHitPairForFit& hit);
0080 #endif