Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Related Pages

TModuleDCS.h

00001 #ifndef TMODULEDCS_h
00002 #define TMODULEDCS_h
00003 
00004 //
00005 // TModuleDCS.h
00006 //
00007 // Version 0.3 PWP 13.12.00
00008 //
00009 
00010 #if _MSC_VER >= 1000
00011 #pragma once
00012 #endif
00013 
00014 #include "TObject.h"
00015 #include "TDatime.h"
00016 #include "TStopwatch.h"
00017 
00018 #define DCS_LOCAL   1
00019 #define DCS_TCP     2
00020 
00021 class  TModuleDCS : public TObject {
00022 
00023   public:
00024 
00025     TModuleDCS();
00026     ~TModuleDCS();
00027 
00028     // Constructor must have no arguments if
00029     // we are to use this class with ROOT I/O
00030 
00031     void TModuleDCS::SetID(Short_t new_id);
00032 
00033     void TModuleDCS::HVon();
00034     void TModuleDCS::HVoff();
00035     void TModuleDCS::LVon();
00036     void TModuleDCS::LVoff();
00037 
00038     void TModuleDCS::Action();
00039     void TModuleDCS::Action(Short_t query);
00040 
00041     void TModuleDCS::Query();
00042 
00043     void TModuleDCS::Print();
00044     void TModuleDCS::Print(Short_t now);
00045 
00046     //
00047     // Data members
00048     //
00049 
00050     Short_t id;
00051     
00052     Short_t hv_source;  // source of HV data
00053     Short_t lv_source;  // source of LV data
00054     Short_t t_source;   // source of temperature data
00055 
00056     //
00057     // Times of updates and power on Timers
00058     //
00059 
00060     Int_t date;
00061     Int_t time;
00062 
00063     Int_t t_HVupdate;
00064     Int_t t_LVupdate;
00065     Int_t t_MTupdate;
00066     Int_t t_ETupdate;
00067 
00068     TStopwatch* HVStopwatch; // time for which HV on
00069     TStopwatch* LVStopwatch; // time for which LV on
00070     Double_t HVStopwatchTime;
00071     Double_t LVStopwatchTime;
00072     Short_t HVStopwatchRunning;
00073     Short_t LVStopwatchRunning;
00074 
00075     //
00076     // Control Information
00077     //
00078 
00079     Short_t suspended;  // Module suspended due to too many trips
00080 
00081     Short_t HVtrip;     // Trip Status
00082     Short_t LVtrip;
00083     Short_t MTtrip;
00084     Short_t ETtrip;
00085 
00086     Short_t nHVtrips;   // Number of trips encountered
00087     Short_t nLVtrips;
00088     Short_t nMTtrips;
00089     Short_t nETtrips;
00090 
00091     Short_t maxHVtrips; // Maximum number of trips allowed
00092     Short_t maxLVtrips; // before giving up on this module
00093     Short_t maxMTtrips; // (-1 means never give up)
00094     Short_t maxETtrips;
00095 
00096     //
00097     //
00098     // Requested State
00099     // 1. The module itself
00100     //
00101 
00102     Float_t vdet_set;  // voltage targets
00103     Float_t vcc_set;
00104     Float_t vi1_set;
00105     Float_t vdd_set;
00106     Float_t vpin_set;
00107     Float_t vld0_set;
00108     Float_t vld1_set;
00109 
00110     Short_t select;    // state of SELECT line
00111     Short_t ramp;      // HV ramp rate
00112 
00113     Float_t idet_lim;  // current limits
00114     Float_t icc_lim;
00115     Float_t ivi1_lim;
00116     Float_t idd_lim;
00117     Float_t ipin_lim;
00118     Float_t ild0_lim;
00119     Float_t ild1_lim;
00120 
00121     //
00122     // Requested State
00123     // 2. Environmental limits
00124     //
00125 
00126     Float_t T1_maximum;
00127     Float_t T2_maximum;
00128     Float_t T1_minimum;
00129     Float_t T2_minimum;
00130 
00131     Float_t ET1_maximum;
00132     Float_t ET2_maximum;
00133     Float_t ET1_minimum;
00134     Float_t ET2_minimum;
00135 
00136     Float_t hum1_maximum;
00137     Float_t hum2_maximum;
00138     Float_t hum1_minimum;
00139     Float_t hum2_minimum;
00140 
00141     // Monitored State
00142     // 1. The module itself
00143     //
00144 
00145     Float_t vdet;
00146     Float_t vcc;
00147     Float_t vi1;
00148     Float_t vdd;
00149     Float_t vpin;
00150     Float_t vld0;
00151     Float_t vld1;
00152 
00153     Float_t idet;
00154     Float_t icc;
00155     Float_t ivi1;
00156     Float_t idd;
00157     Float_t ipin;
00158     Float_t ild0;
00159     Float_t ild1;
00160 
00161     Float_t T1;
00162     Float_t T2;
00163 
00164     Short_t HVstatus;
00165     Short_t LVstatus;
00166     Short_t LVtemp;
00167 
00168     //
00169     // Monitored State
00170     // 2.  The module environment
00171     //
00172 
00173     Float_t ET1;  // external temp, eg. Environmental target
00174     Float_t ET2;  // external temp, eg. Environmental measurement
00175     Float_t hum1; // Environmental humidity
00176     Float_t hum2; // Environmental humidity
00177 
00178 
00179   private:
00180 
00181     ClassDef(TModuleDCS,1)
00182 };
00183 
00184 #endif

Generated on Thu Jul 15 09:51:01 2004 for SCT DAQ/DCS Software - C++ by doxygen 1.3.5