Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:26:09

0001 #ifndef DTSEGMENTEXTENDEDCAND_H
0002 #define DTSEGMENTEXTENDEDCAND_H
0003 
0004 /** \class DTSegmentExtendedCand
0005  *
0006  * Description:
0007  *  
0008  *  detailed description
0009  *
0010  * \author : Stefano Lacaprara - INFN LNL <stefano.lacaprara@pd.infn.it>
0011  *
0012  * Modification:
0013  *
0014  */
0015 
0016 /* Base Class Headers */
0017 #include "RecoLocalMuon/DTSegment/src/DTSegmentCand.h"
0018 
0019 /* Collaborating Class Declarations */
0020 #include "DataFormats/DTRecHit/interface/DTSLRecCluster.h"
0021 
0022 /* C++ Headers */
0023 #include <vector>
0024 
0025 /* ====================================================================== */
0026 
0027 /* Class DTSegmentExtendedCand Interface */
0028 
0029 class DTSegmentExtendedCand : public DTSegmentCand {
0030 public:
0031   struct DTSLRecClusterForFit;
0032 
0033   /* Constructor */
0034   DTSegmentExtendedCand(DTSegmentCand* cand) : DTSegmentCand(*cand), theClus(std::vector<DTSLRecClusterForFit>()) {}
0035 
0036   /* Destructor */
0037   ~DTSegmentExtendedCand() override {}
0038 
0039   /* Operations */
0040   void addClus(const DTSegmentExtendedCand::DTSLRecClusterForFit& clus) { theClus.push_back(clus); }
0041 
0042   std::vector<DTSegmentExtendedCand::DTSLRecClusterForFit> clusters() const { return theClus; }
0043 
0044   //DTSegmentCand* cand() const { return theCand; }
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   //DTSegmentCand* theCand;
0062   std::vector<DTSLRecClusterForFit> theClus;
0063   //double theChi2;
0064 
0065 protected:
0066 };
0067 #endif  // DTSEGMENTEXTENDEDCAND_H