CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_1/src/RecoLocalMuon/DTSegment/src/DTSegmentExtendedCand.h

Go to the documentation of this file.
00001 #ifndef DTSEGMENTEXTENDEDCAND_H
00002 #define DTSEGMENTEXTENDEDCAND_H
00003 
00017 /* Base Class Headers */
00018 #include "RecoLocalMuon/DTSegment/src/DTSegmentCand.h"
00019 
00020 /* Collaborating Class Declarations */
00021 #include "DataFormats/DTRecHit/interface/DTSLRecCluster.h"
00022 
00023 /* C++ Headers */
00024 #include <vector>
00025 
00026 /* ====================================================================== */
00027 
00028 /* Class DTSegmentExtendedCand Interface */
00029 
00030 class DTSegmentExtendedCand  : public DTSegmentCand {
00031 
00032   public:
00033     struct DTSLRecClusterForFit ;
00034 
00035 /* Constructor */ 
00036     DTSegmentExtendedCand(DTSegmentCand* cand ): DTSegmentCand(*cand),
00037                                                   theClus(std::vector<DTSLRecClusterForFit>()) {
00038                                                   }
00039 
00040 /* Destructor */ 
00041     virtual ~DTSegmentExtendedCand() {}
00042 
00043 /* Operations */ 
00044     void addClus(const DTSegmentExtendedCand::DTSLRecClusterForFit& clus) {
00045       theClus.push_back(clus);
00046     }
00047 
00048     std::vector<DTSegmentExtendedCand::DTSLRecClusterForFit> clusters() const {
00049       return theClus;
00050     }
00051 
00052     //DTSegmentCand* cand() const { return theCand; }
00053 
00054     bool isCompatible(const DTSegmentExtendedCand::DTSLRecClusterForFit& clus) ;
00055 
00056     virtual unsigned int nHits() const ;
00057 
00058     virtual bool good() const ;
00059 
00060     struct DTSLRecClusterForFit {
00061       public: 
00062         DTSLRecClusterForFit(const DTSLRecCluster& c,
00063                              const LocalPoint& p,
00064                              const LocalError& e) : clus(c), pos(p), err(e) {}
00065         DTSLRecCluster clus;
00066         LocalPoint pos;
00067         LocalError err;
00068     };
00069 
00070   private:
00071     //DTSegmentCand* theCand;
00072     std::vector<DTSLRecClusterForFit> theClus;
00073     //double theChi2;
00074 
00075   protected:
00076 
00077 };
00078 #endif // DTSEGMENTEXTENDEDCAND_H
00079