File indexing completed on 2024-04-06 12:26:09
0001 #ifndef DTSEGMENTEXTENDEDCAND_H
0002 #define DTSEGMENTEXTENDEDCAND_H
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #include "RecoLocalMuon/DTSegment/src/DTSegmentCand.h"
0018
0019
0020 #include "DataFormats/DTRecHit/interface/DTSLRecCluster.h"
0021
0022
0023 #include <vector>
0024
0025
0026
0027
0028
0029 class DTSegmentExtendedCand : public DTSegmentCand {
0030 public:
0031 struct DTSLRecClusterForFit;
0032
0033
0034 DTSegmentExtendedCand(DTSegmentCand* cand) : DTSegmentCand(*cand), theClus(std::vector<DTSLRecClusterForFit>()) {}
0035
0036
0037 ~DTSegmentExtendedCand() override {}
0038
0039
0040 void addClus(const DTSegmentExtendedCand::DTSLRecClusterForFit& clus) { theClus.push_back(clus); }
0041
0042 std::vector<DTSegmentExtendedCand::DTSLRecClusterForFit> clusters() const { return theClus; }
0043
0044
0045
0046 bool isCompatible(const DTSegmentExtendedCand::DTSLRecClusterForFit& clus);
0047
0048 unsigned int nHits() const override;
0049
0050 bool good() const override;
0051
0052 struct DTSLRecClusterForFit {
0053 public:
0054 DTSLRecClusterForFit(const DTSLRecCluster& c, const LocalPoint& p, const LocalError& e) : clus(c), pos(p), err(e) {}
0055 DTSLRecCluster clus;
0056 LocalPoint pos;
0057 LocalError err;
0058 };
0059
0060 private:
0061
0062 std::vector<DTSLRecClusterForFit> theClus;
0063
0064
0065 protected:
0066 };
0067 #endif