/data3/calcul/jacquem/working_dir/Micromegas/micromegasFrameWork/include/event/Run.hh

Go to the documentation of this file.
00001 /* @version $Revision: 1527 $ * @modifiedby $Author: jacquem $ * @lastmodified $Date: 2012-02-29 17:34:48 +0100 (Wed, 29 Feb 2012) $ */
00002 
00003 #ifndef RUN_HH
00004 #define RUN_HH
00005 
00006 #include "mTypes.h"
00007 #include <fstream>
00008 
00009 
00010 
00011 //////////////////////////////////////////////////////////////////////////
00012 //                                                                      //
00013 // Run  for MICROMEGAS READOUT                                        //
00014 //                                                                      //
00015 //////////////////////////////////////////////////////////////////////////
00016 
00017 //////////////////////////////////////////////////////////////////////////
00018 ///     CLASS RUN                                                     //
00019 //////////////////////////////////////////////////////////////////////////
00020 class Detector;
00021 
00022 class Run {
00023       friend std::ostream& operator <<(std::ostream& out, const Run& x);
00024 
00025   public:
00026      Run(Detector &aDetector);
00027      ~Run();
00028 
00029   private:
00030      Detector&   detector;
00031 
00032      ui32 id;
00033 
00034      std::string name;                 // <- XML
00035      std::string date;                 // <- XML
00036 
00037      time_t      reconstructionDate;   // <- Set by constructor
00038      std::string  svnrev   ;            // svn version 
00039      std::string rawDataFilename;      // <- XML
00040      bool        calibrationRun;       // <- XML // true -> calibration. false -> production
00041            bool        difSynchro;                 // set true for dif_synchro acquisition
00042 
00043 
00044 
00045      ui16 delayTrigger;
00046      // Following data member are only available in calibration mode
00047      float         injectedCharge;
00048 
00049      // DIRAC CALIBRATION ONLY
00050      ui16         widthCtest;  // 10 bit store in 16 bits
00051      ui16         periodCtest; // 10 bit store in 16 bits
00052      ui16         delayCtest;  // 10 bit store in 16 bits
00053 
00054      ui16 dataFormat;               // current data format in the first hexadecimal character of the file
00055      ui16 daqSoftware;              // DAQ software version 8 bits
00056      ui16 cccFirmware;               // CCC firmware version 8 bits
00057 public:
00058 
00059      std::ostream& operator <<(std::ostream &out) const;
00060 
00061      Detector& getDetector(void) const { return detector; }
00062      std::string getSvnrev()const ;
00063 
00064      inline const time_t getReconstructionDate(void) const { return reconstructionDate; }
00065      void setReconstructionDate(time_t _aDate) { reconstructionDate = _aDate;};
00066 
00067      inline ui32 getId(void) const { return id; }
00068      inline void setId(const ui32 aId){ id = aId; }
00069 
00070      inline std::string getName(void) const { return name; }
00071      inline void setName(const std::string aName){ name = aName; }
00072 
00073      inline std::string getDate(void) const { return date; }
00074      inline void setDate(const std::string aDate){ date = aDate; }
00075 
00076          inline ui16 getDataFormat() const { return dataFormat ; } ;
00077          void        setDataFormat(ui16 value) { dataFormat = value; };
00078 
00079          inline ui16 getDaqSoftware() const { return daqSoftware ; } ;
00080          void        setDaqSoftware(ui16 value) { daqSoftware = value; };
00081 
00082          inline ui16 getCccFirmware() const { return cccFirmware ; } ;
00083          void        setCccFirmware(ui16 value) { cccFirmware = value; };
00084 
00085      void        setRawDataFilename(std::string value) { rawDataFilename = value;};
00086      std::string getRawDataFilename(void)  const            { return rawDataFilename; };
00087 
00088      bool   isCalibrationRun(void) const { return calibrationRun; };
00089      void   setCalibrationRun(bool aValue) { calibrationRun = aValue; }
00090 
00091      bool   isDifSynchro(void) const { return difSynchro; };
00092      void   setDifSynchro(bool aValue) { difSynchro = aValue; }
00093 
00094      // calibration only    // Infos from calibration raw data file
00095      //ui32 getSendedCharge(void) const { return injectedCharge; } ;
00096      float getSendedCharge(void) const { return injectedCharge; } ;
00097      ui16 getWidthCtest(void) const { return widthCtest; } ;
00098      ui16 getPeriodCtest(void) const { return periodCtest; } ;
00099      ui16 getDelayCtest(void) const { return delayCtest; } ;
00100      ui16 getDelayTrigger(void) const { return delayTrigger; } ;
00101 
00102      //void setInjectedCharge(ui32 aValue) {  injectedCharge = aValue; } ;
00103      void setInjectedCharge(float aValue) {  injectedCharge = aValue; } ;
00104      void setWidthCtest(ui16 aValue)   {  widthCtest = aValue; } ;
00105      void setPeriodCtest(ui16 aValue)  {  periodCtest = aValue; } ;
00106      void setDelayCtest(ui16 aValue)   {  delayCtest = aValue; }
00107      void setDelayTrigger(ui16 aValue)   {  delayTrigger = aValue; }
00108 };
00109 
00110 #endif

Generated on Mon Jun 11 16:55:44 2012 for MicromegasFramework by  doxygen 1.4.7