File indexing completed on 2024-09-07 04:37:54
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef RecoPPS_Local_RPixDetPatternFinder_H
0011 #define RecoPPS_Local_RPixDetPatternFinder_H
0012
0013 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0014
0015 #include "DataFormats/Common/interface/DetSetVector.h"
0016 #include "DataFormats/Common/interface/DetSet.h"
0017
0018 #include "DataFormats/CTPPSReco/interface/CTPPSPixelRecHit.h"
0019 #include "DataFormats/CTPPSDetId/interface/CTPPSPixelDetId.h"
0020
0021 #include "Geometry/VeryForwardGeometryBuilder/interface/CTPPSGeometry.h"
0022 #include "DataFormats/Math/interface/Error.h"
0023
0024 #include <vector>
0025
0026 class RPixDetPatternFinder {
0027 public:
0028 RPixDetPatternFinder(edm::ParameterSet const ¶meterSet) {}
0029
0030 virtual ~RPixDetPatternFinder() {}
0031
0032 typedef struct {
0033 CTPPSGeometry::Vector globalPoint;
0034 math::Error<3>::type globalError;
0035 CTPPSPixelRecHit recHit;
0036 CTPPSPixelDetId detId;
0037 } PointInPlane;
0038 typedef std::vector<PointInPlane> Road;
0039
0040 void setHits(const edm::DetSetVector<CTPPSPixelRecHit> *hitVector) { hitVector_ = hitVector; }
0041 virtual void findPattern(bool *is2planepot) = 0;
0042 void clear() { patternVector_.clear(); }
0043 std::vector<Road> const &getPatterns() const { return patternVector_; }
0044 void setGeometry(const CTPPSGeometry *geometry) { geometry_ = geometry; }
0045
0046 protected:
0047 const edm::DetSetVector<CTPPSPixelRecHit> *hitVector_;
0048 std::vector<Road> patternVector_;
0049 const CTPPSGeometry *geometry_;
0050 };
0051
0052 #endif