Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:27:08

0001 #ifndef RecoMuon_MuonSeedGenerator_RPCSeedFinder_H
0002 #define RecoMuon_MuonSeedGenerator_RPCSeedFinder_H
0003 
0004 /** \class RPCSeedFinder
0005  *  
0006  *   \author Haiyun.Teng - Peking University
0007  *
0008  *  
0009  */
0010 
0011 #include "RecoMuon/MuonSeedGenerator/src/RPCSeedPattern.h"
0012 #include <DataFormats/TrajectorySeed/interface/TrajectorySeed.h>
0013 #include <RecoMuon/TransientTrackingRecHit/interface/MuonTransientTrackingRecHit.h>
0014 #include <FWCore/ParameterSet/interface/ParameterSet.h>
0015 #include <vector>
0016 #include <algorithm>
0017 
0018 class MagneticField;
0019 class RPCGeometry;
0020 
0021 class RPCSeedFinder {
0022   typedef MuonTransientTrackingRecHit::MuonRecHitPointer MuonRecHitPointer;
0023   typedef MuonTransientTrackingRecHit::ConstMuonRecHitPointer ConstMuonRecHitPointer;
0024   typedef MuonTransientTrackingRecHit::MuonRecHitContainer MuonRecHitContainer;
0025   typedef MuonTransientTrackingRecHit::ConstMuonRecHitContainer ConstMuonRecHitContainer;
0026   typedef RPCSeedPattern::weightedTrajectorySeed weightedTrajectorySeed;
0027 
0028 public:
0029   RPCSeedFinder();
0030   ~RPCSeedFinder();
0031   void configure(const edm::ParameterSet &iConfig);
0032   void setOutput(std::vector<weightedTrajectorySeed> *goodweightedRef,
0033                  std::vector<weightedTrajectorySeed> *candidateweightedRef);
0034   void setrecHits(ConstMuonRecHitContainer &recHits);
0035   void setEventSetup(const MagneticField &field, const RPCGeometry &rpcGeom);
0036   void seed();
0037 
0038 private:
0039   // Signal for call fillLayers()
0040   bool isrecHitsset;
0041   bool isConfigured;
0042   bool isOutputset;
0043   bool isEventSetupset;
0044   const MagneticField *pField = nullptr;
0045   const RPCGeometry *pRPCGeom = nullptr;
0046   RPCSeedPattern oneSeed;
0047   //ConstMuonRecHitContainer theRecHits;
0048   std::vector<weightedTrajectorySeed> *goodweightedSeedsRef;
0049   std::vector<weightedTrajectorySeed> *candidateweightedSeedsRef;
0050 };
0051 #endif