CLHEP/StdHep/StdRunInfo.hh

00001 // ----------------------------------------------------------------------
00002 // StdRunInfo.hh
00003 // ----------------------------------------------------------------------
00004 
00005 #ifndef STDRUNINFO_HH
00006 #define STDRUNINFO_HH
00007 
00008 #include <vector>
00009 #include <string>
00010 
00011 namespace StdHep  {
00012 
00013 class StdRunInfo  {
00014 
00015 public:
00016 
00017   // ---  birth/death:
00018   //
00019   StdRunInfo( int Runno=0, int togen=0, int ngen=0, int nwrt=0,
00020               double com=0., double xsec=0. );
00021   StdRunInfo( const StdRunInfo & orig );
00022   StdRunInfo& operator=( const StdRunInfo & );
00023   ~StdRunInfo() { ; }
00024 
00025   // ---  accessors:
00026   //
00027   int      runNumber()        const  {  return itsRunNumber; }
00028   int      eventsToGenerate() const  {  return itsEventsToGenerate; }
00029   int      eventsGenerated()  const  {  return itsEventsGenerated; }
00030   int      eventsWritten()    const  {  return itsEventsWritten; }
00031   double   CoMEnergy()        const  {  return itsCoMEnergy; }
00032   double   crossSection()     const  {  return itsCrossSection; }
00033   double   seed( int i )      const  {  return itsSeedList[i]; }
00034   unsigned int size()         const  {  return itsSeedList.size(); }
00035   std::string runIdentifier() const  {  return itsRunIdentifier; }
00036   std::string generatorName() const  {  return itsGeneratorName; }
00037   std::string pdfName()       const  {  return itsPDFName; }
00038 
00039   // ---  mutators:
00040   //
00041   void  setRunNumber        ( int runno )    { itsRunNumber = runno; }
00042   void  setEventsToGenerate ( int togen )    { itsEventsToGenerate = togen; }
00043   void  setEventsGenerated  ( int ngen )     { itsEventsGenerated = ngen; }
00044   void  setEventsWritten    ( int nwrt )     { itsEventsWritten = nwrt; }
00045   void  setCoMEnergy        ( double com )   { itsCoMEnergy = com; }
00046   void  setCrossSection     ( double xsec )  { itsCrossSection = xsec; }
00047   void  appendSeed          ( double sd )    { itsSeedList.push_back( sd ); }
00048   void  clearSeeds          (           )    { itsSeedList.clear(); }
00049   void  setRunIdentifier    ( std::string & name );
00050   void  setGeneratorName    ( std::string & name );
00051   void  setPdfName          ( std::string & name );
00052   
00053 private:
00054 
00055   int                 itsRunNumber;
00056   int                 itsEventsToGenerate;
00057   int                 itsEventsGenerated;
00058   int                 itsEventsWritten;
00059   double              itsCoMEnergy;
00060   double              itsCrossSection;
00061   std::string         itsRunIdentifier;
00062   std::string         itsGeneratorName;
00063   std::string         itsPDFName;
00064   std::vector<double> itsSeedList;
00065   
00066 };      // StdRunInfo
00067 
00068 }       // StdHep
00069 
00070 #endif // STDRUNINFO_HH

Class Library for High Energy Physics (version 1.8)