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