00001
00002
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
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
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
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 };
00067
00068 }
00069
00070 #endif // STDRUNINFO_HH