/data3/calcul/jacquem/working_dir/Micromegas/micromegasFrameWork/include/slowControl/SlowControlEntry.hh

Go to the documentation of this file.
00001 /* @version $Revision: 1328 $ * @modifiedby $Author: jacquem $ * @lastmodified $Date: 2011-10-03 17:04:17 +0200 (Mon, 03 Oct 2011) $ */
00002 #ifndef SLOWCONTROLENTRY_HH
00003 #define SLOWCONTROLENTRY_HH
00004 
00005 #include <map>
00006 #include "mTypes.h"
00007 
00008 class ChamberSlowControl;
00009 class BoardSlowControl;
00010 class PMSlowControl;
00011 class PMParams_t;
00012 class MeshParams_t;
00013 class DriftParams_t;
00014 
00015 
00016 //////////////////////////////////////////////////////////////////////////
00017 // Slow control entry for a timestamp
00018 class SlowControlEntry {
00019   friend std::ostream& operator <<(std::ostream& out, const SlowControlEntry& x);
00020 
00021 
00022   public:
00023     SlowControlEntry();
00024     ~SlowControlEntry();
00025     SlowControlEntry(const SlowControlEntry& aSce);
00026     SlowControlEntry& operator=(const SlowControlEntry& aSce);
00027 
00028 
00029      const BoardSlowControl& getBoard(const ui32 chamberId, const ui32 dif_id, const ui32 id) const ;
00030      const PMSlowControl& getPM(const ui32 id)  const ;
00031 
00032      void setBoardParams(ui32 chamberId, ui32 difId, ui32 boardId, BoardSlowControl& boardSC);
00033      void setPmParams(const ui32 id,PMSlowControl& pmSC);
00034 
00035      void setTimeStamp(double value)  { timeStamp = value; };
00036      void setPressure(float value)    { pressure = value; };
00037      void setOverPressure(float value){ overPressure = value; };
00038      void setTemperature(float value) { temperature = value; };
00039 
00040 
00041     double getTimeStamp(void) const { return timeStamp;};
00042     float getPressure(void) const { return pressure;};
00043     float getOverPressure(void) const { return overPressure;};
00044     float getTemperature(void) const { return temperature;};
00045 
00046 //--------------------------------------------------------------------//
00047 
00048 
00049   private:
00050     double timeStamp;
00051     float pressure;
00052     float overPressure;
00053     float temperature;
00054     std::map<ui32, std::map<ui32, std::map<ui32, BoardSlowControl>* >* > boardMap;  // a map element by board ( ref by chamberId, difId and board id )
00055     std::map<ui32, PMSlowControl>      pmMap; // a map element by PM ( ref by PM id )
00056 };
00057 
00058 #endif

Generated on Mon Jan 7 13:15:21 2013 for MicromegasFramework by  doxygen 1.4.7