CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/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 class TrackerTopology;
00019 
00020 class CompositeTSG : public TrackerSeedGenerator {
00021 
00022 public:
00023   typedef std::vector<TrajectorySeed> BTSeedCollection;  
00024   typedef std::pair<const Trajectory*, reco::TrackRef> TrackCand;
00025 
00026   CompositeTSG(const edm::ParameterSet &pset);
00027   virtual ~CompositeTSG();
00028 
00030   void init(const MuonServiceProxy *service);
00032   void setEvent(const edm::Event &event);
00033 
00035   virtual void trackerSeeds(const TrackCand&, const TrackingRegion&, const TrackerTopology *, BTSeedCollection &) =0;
00036 
00037  protected:
00038 
00039   unsigned int nTSGs() { return theTSGs.size();}
00040   std::vector<TrackerSeedGenerator*> theTSGs;
00041   std::vector<std::string> theNames;
00042   std::string theCategory;
00043 
00044   const MuonServiceProxy * theProxyService;
00045 };
00046 
00047 
00048 #endif