00001 // Dear emacs, this is -*- c++ -*- 00002 // $Id: IBunchCrossingConfProvider.h 618301 2014-09-24 08:53:05Z krasznaa $ 00003 #ifndef TRIGANALYSISINTERFACES_IBUNCHCROSSINGCONFPROVIDER_H 00004 #define TRIGANALYSISINTERFACES_IBUNCHCROSSINGCONFPROVIDER_H 00005 00006 // STL include(s): 00007 #include <vector> 00008 00009 // Gaudi/Athena include(s): 00010 #include "AsgTools/IAsgTool.h" 00011 00012 namespace Trig { 00013 00048 class IBunchCrossingConfProvider : public virtual asg::IAsgTool { 00049 00051 ASG_TOOL_INTERFACE( Trig::IBunchCrossingConfProvider ) 00052 00053 public: 00055 typedef unsigned int configid_type; 00056 00058 00076 virtual configid_type configID() const = 0; 00077 00079 00085 virtual std::vector< int > configuredBCIDs() const = 0; 00086 00088 00096 virtual std::vector< float > configuredIntensitiesBeam1() const = 0; 00097 00099 00107 virtual std::vector< float > configuredIntensitiesBeam2() const = 0; 00108 00110 00116 virtual std::vector< int > configuredUnpairedBCIDsBeam1() const = 0; 00117 00119 00125 virtual std::vector< int > configuredUnpairedBCIDsBeam2() const = 0; 00126 00128 00135 virtual std::vector< float > configuredUnpairedIntensitiesBeam1() const = 0; 00136 00138 00145 virtual std::vector< float > configuredUnpairedIntensitiesBeam2() const = 0; 00146 00147 }; // class IBunchCrossingConfProvider 00148 00149 } // namespace Trig 00150 00151 #endif // TRIGANALYSISINTERFACES_IBUNCHCROSSINGCONFPROVIDER_H