CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/RecoMuon/TrackerSeedGenerator/plugins/CompositeTSG.h

Go to the documentation of this file.
00001 #ifndef RecoMuon_TrackerSeedGenerator_CompositeTSG_H
00002 #define RecoMuon_TrackerSeedGenerator_CompositeTSG_H
00003 
00012 #include "RecoMuon/TrackerSeedGenerator/interface/TrackerSeedGenerator.h"
00013 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00014 #include "DataFormats/TrajectorySeed/interface/TrajectorySeed.h"
00015 
00016 class TrackingRegion;
00017 class MuonServiceProxy;
00018 
00019 class CompositeTSG : public TrackerSeedGenerator {
00020 
00021 public:
00022   typedef std::vector<TrajectorySeed> BTSeedCollection;  
00023   typedef std::pair<const Trajectory*, reco::TrackRef> TrackCand;
00024 
00025   CompositeTSG(const edm::ParameterSet &pset);
00026   virtual ~CompositeTSG();
00027 
00029   void init(const MuonServiceProxy *service);
00031   void setEvent(const edm::Event &event);
00032 
00034   virtual void trackerSeeds(const TrackCand&, const TrackingRegion&, BTSeedCollection &) =0;
00035 
00036  protected:
00037 
00038   unsigned int nTSGs() { return theTSGs.size();}
00039   std::vector<TrackerSeedGenerator*> theTSGs;
00040   std::vector<std::string> theNames;
00041   std::string theCategory;
00042 
00043   const MuonServiceProxy * theProxyService;
00044 };
00045 
00046 
00047 #endif