00001 #ifndef SLOWCONTROLENTRY_HH 00002 #define SLOWCONTROLENTRY_HH 00003 00004 #include <map> 00005 #include "mTypes.h" 00006 00007 class ChamberSlowControl; 00008 class PMSlowControl; 00009 class PMParams_t; 00010 class MeshParams_t; 00011 class DriftParams_t; 00012 00013 00014 ////////////////////////////////////////////////////////////////////////// 00015 // Slow control entry for a timestamp 00016 class SlowControlEntry { 00017 friend std::ostream& operator <<(std::ostream& out, const SlowControlEntry& x); 00018 00019 00020 public: 00021 const ChamberSlowControl& getChamber(const ui32 id) const ; 00022 const PMSlowControl& getPM(const ui32 id) const ; 00023 void addChamber(const std::string name, const ui32 id); 00024 void addPM(const std::string name, const ui32 id); 00025 void setChamberParams(i32 id, MeshParams_t &mesh, DriftParams_t &drift); 00026 void setPmParams(i32 id,PMParams_t voltages); 00027 00028 //--------------------------------------------------------------------// 00029 00030 00031 public: 00032 double timeStamp; 00033 float pressure; 00034 float overPressure; 00035 float temperature; 00036 std::map<i32, ChamberSlowControl> chMap; // a map element by chamber ( ref by chamber id ) 00037 std::map<i32, PMSlowControl> pmMap; // a map element by PM ( ref by PM id ) 00038 }; 00039 00040 #endif