00001 #ifndef GoodRunsLists_IGoodRunsListSelectorTool_H 00002 #define GoodRunsLists_IGoodRunsListSelectorTool_H 00003 00004 #include "GaudiKernel/IAlgTool.h" 00005 #include <vector> 00006 #include <string> 00007 #include <map> 00008 00009 typedef std::pair< std::vector<std::string>, std::vector<std::string> > vvPair; 00010 00011 namespace Root { 00012 class TGRLCollection; 00013 } 00014 00015 class IGoodRunsListSelectorTool : virtual public IAlgTool { 00016 public: 00017 00018 static const InterfaceID& interfaceID() { 00019 static const InterfaceID IGoodRunsListSelectorToolID( "IGoodRunsListSelectorTool", 1, 0 ); 00020 return IGoodRunsListSelectorToolID; 00021 } 00022 00024 virtual bool passRunLB( int runNumber, int lumiBlockNr, 00025 const std::vector<std::string>& grlnameVec=std::vector<std::string>(), 00026 const std::vector<std::string>& brlnameVec=std::vector<std::string>() ) = 0 ; 00028 virtual bool passThisRunLB( const std::vector<std::string>& grlnameVec=std::vector<std::string>(), 00029 const std::vector<std::string>& brlnameVec=std::vector<std::string>() ) = 0 ; 00031 virtual bool registerGRLSelector(const std::string& name, 00032 const std::vector<std::string>& grlnameVec, const std::vector<std::string>& brlnameVec) = 0 ; 00034 virtual const std::map< std::string, vvPair >& getGRLSelectorRegistry() = 0 ; 00035 00037 virtual const Root::TGRLCollection* getGRLCollection() const = 0 ; 00038 virtual const Root::TGRLCollection* getBRLCollection() const = 0 ; 00039 }; 00040 00041 #endif // GoodRunsLists_IGoodRunsListSelectorTool_H 00042