CMS 3D CMS Logo

DTCombinatorialPatternReco4D.h
Go to the documentation of this file.
1 #ifndef DTSegment_DTCombinatorialPatternReco4D_h
2 #define DTSegment_DTCombinatorialPatternReco4D_h
3 
13 // Base Class Headers
15 
17 
18 // Collaborating Class Declarations
19 namespace edm {
20  class ParameterSet;
21  class EventSetup;
22 } // namespace edm
23 class DTSegmentUpdator;
24 //class DTSegmentCleaner;
25 
26 // C++ Headers
27 #include <vector>
28 //#include <utility>
29 
32 
33 // ======================================================================
34 class DTSegmentCand;
36 class DTHitPairForFit;
37 
38 // Class DTCombinatorialPatternReco4D Interface
39 
41 public:
44 
46  ~DTCombinatorialPatternReco4D() override;
47 
49  edm::OwnVector<DTRecSegment4D> reconstruct() override;
50 
51  std::string algoName() const override { return theAlgoName; }
52 
53  void setES(const edm::EventSetup& setup) override;
54  void setDTRecHit1DContainer(edm::Handle<DTRecHitCollection> all1DHits) override;
55  void setDTRecSegment2DContainer(edm::Handle<DTRecSegment2DCollection> all2DSegments) override;
56  void setChamber(const DTChamberId& chId) override;
57  bool wants2DSegments() override { return !allDTRecHits; }
58 
59 protected:
60 private:
61  std::vector<DTSegmentCand*> buildPhiSuperSegmentsCandidates(
62  std::vector<std::shared_ptr<DTHitPairForFit>>& pairPhiOwned);
63  DTRecSegment4D* segmentSpecialZed(const DTRecSegment4D* seg);
64 
66 
67  bool debug;
68  // DTSegmentUpdator* theUpdator; // the updator and fitter
69  // DTSegmentCleaner* theCleaner; // the cleaner
70 
72 
73  // The reconstruction 2D algorithm
74  // For the 2D reco I use thei reconstructor!
76 
77  // the updator
79 
81 
82  //the input type
86 
87  // std::vector<DTRecHit1D> the1DPhiHits;
88  std::vector<DTSLRecSegment2D> theSegments2DTheta;
89  std::vector<DTRecHit1DPair> theHitsFromPhi1;
90  std::vector<DTRecHit1DPair> theHitsFromTheta;
91  std::vector<DTRecHit1DPair> theHitsFromPhi2;
92 };
93 #endif
DTCombinatorialPatternReco * the2DAlgo
std::string algoName() const override
std::vector< DTRecHit1DPair > theHitsFromPhi2
std::vector< DTRecHit1DPair > theHitsFromPhi1
std::vector< DTSLRecSegment2D > theSegments2DTheta
std::vector< DTRecHit1DPair > theHitsFromTheta
edm::ESHandle< DTGeometry > theDTGeometry
HLT enums.