PSEnv/include/IExpNameProvider.h

Go to the documentation of this file.
00001 #ifndef PSENV_IEXPNAMEPROVIDER_H
00002 #define PSENV_IEXPNAMEPROVIDER_H
00003 
00004 //--------------------------------------------------------------------------
00005 // File and Version Information:
00006 //      $Id: IExpNameProvider.h 3031 2012-03-08 21:58:18Z salnikov@SLAC.STANFORD.EDU $
00007 //
00008 // Description:
00009 //      Class IExpNameProvider.
00010 //
00011 //------------------------------------------------------------------------
00012 
00013 //-----------------
00014 // C/C++ Headers --
00015 //-----------------
00016 #include <string>
00017 #include <boost/utility.hpp>
00018 
00019 //----------------------
00020 // Base Class Headers --
00021 //----------------------
00022 
00023 //-------------------------------
00024 // Collaborating Class Headers --
00025 //-------------------------------
00026 
00027 //------------------------------------
00028 // Collaborating Class Declarations --
00029 //------------------------------------
00030 
00031 //              ---------------------
00032 //              -- Class Interface --
00033 //              ---------------------
00034 
00035 namespace PSEnv {
00036 
00037 /**
00038  *  @ingroup PSEnv
00039  *
00040  *  @brief CLass which defines an interface for obtaining  instrument and
00041  *  experiment names.
00042  *
00043  *  This software was developed for the LCLS project.  If you use all or 
00044  *  part of it, please give an appropriate acknowledgment.
00045  *
00046  *  @see AdditionalClass
00047  *
00048  *  @version $Id: IExpNameProvider.h 3031 2012-03-08 21:58:18Z salnikov@SLAC.STANFORD.EDU $
00049  *
00050  *  @author Andy Salnikov
00051  */
00052 
00053 class IExpNameProvider : boost::noncopyable {
00054 public:
00055 
00056   // Destructor
00057   virtual ~IExpNameProvider() {}
00058   
00059   /// Returns instrument name
00060   virtual const std::string& instrument() const = 0;
00061 
00062   /// Returns experiment name
00063   virtual const std::string& experiment() const = 0;
00064 
00065   /// Returns experiment number or 0
00066   virtual unsigned expNum() const = 0;
00067 
00068 protected:
00069 
00070   // Constructor
00071   IExpNameProvider () {}
00072 
00073 private:
00074 
00075 };
00076 
00077 } // namespace PSEnv
00078 
00079 #endif // PSENV_IEXPNAMEPROVIDER_H

Generated on 19 Dec 2016 for PSANAclasses by  doxygen 1.4.7