fdhwlib
2.0.25
|
00001 /*************************************************************************** 00002 fe4timing.h - description 00003 00004 begin : Mon Jul 3 2000 00005 copyright : (C) 2000 by Andreas Kopmann 00006 email : kopmann@hpe.fzk.de 00007 ***************************************************************************/ 00008 00009 00010 #ifndef FE4TIMING_H 00011 #define FE4TIMING_H 00012 00013 #include <FE/FEdef.h> 00014 00015 #include <hw4/fltdef.h> 00016 #include <hw4/sltdef.h> 00017 00018 #include <FE/febasetiming.h> 00019 #include <FE/fe4timestamp.h> 00020 00021 00022 #include <hw4/subrackauger.h> 00023 00024 00056 class FE4timing : public FEbaseTiming { 00057 public: 00058 FE4timing(hw4::SubrackAuger *s); 00059 00066 void setSecond(unsigned long sec); 00067 00077 unsigned long setActualTime(); 00078 00085 unsigned long getSecond(); 00086 00093 unsigned long getSubSecond(); 00094 00095 using FEbaseTiming::getActualTime; 00096 00101 void getActualTime(FE4timeStamp *t); 00102 00109 void getActualTime(unsigned long *second, unsigned long *subSecond); 00110 00111 void forceStrobe(); 00112 00113 void setStrobeSource(int source); 00114 00115 int getStrobeSource(); 00116 00122 int waitForSyncErr(); 00123 00124 void enableSyncErr(); 00125 00126 void disableSyncErr(); 00127 00128 bool isEnabledSyncErr(); 00129 00144 void enableDeadTimeCounter(); 00145 00147 void disableDeadTimeCounter(); 00148 00150 bool isEnabledDeadTimeCounter(); 00151 00153 void resetDeadTimeCounter(); 00154 00156 void getVetoTime(unsigned long *high, unsigned long *low); 00157 00159 void getDeadTime(unsigned long *high, unsigned long *low); 00160 00162 void getRunTime(unsigned long *high, unsigned long *low); 00163 00165 void getVetoTime(unsigned long long *time); 00166 00168 void getDeadTime(unsigned long long *time); 00169 00171 void getRunTime(unsigned long long *time); 00172 00173 private: 00174 hw4::SubrackAuger *s; 00175 00176 }; 00177 00178 #endif // FE4TIMING_H 00179 00180