fdhwlib
2.0.25
|
00001 /*************************************************************************** 00002 febasetiming.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 FEBASETIMING_H 00011 #define FEBASETIMING_H 00012 00013 #include <FE/FEdef.h> 00014 00015 00016 class FEtimeStamp; 00017 00048 class FEbaseTiming { 00049 public: 00050 FEbaseTiming() { } 00051 virtual ~FEbaseTiming(); 00052 00058 virtual void setSecond(unsigned long sec) = 0; 00059 00069 virtual unsigned long setActualTime() = 0; 00070 00077 virtual unsigned long getSecond() = 0; 00078 00085 virtual unsigned long getSubSecond() = 0; 00086 00087 00092 virtual void getActualTime(FEtimeStamp * ) { } 00093 00100 virtual void getActualTime(unsigned long *second, unsigned long *subSecond) = 0; 00101 00102 virtual void forceStrobe() = 0; 00103 00104 virtual void setStrobeSource(int source) = 0; 00105 00106 virtual int getStrobeSource() = 0; 00107 00113 virtual int waitForSyncErr() 00114 { return(0); } 00115 00116 virtual void enableSyncErr() { } 00117 00118 virtual void disableSyncErr() { } 00119 00120 virtual bool isEnabledSyncErr() 00121 { return false; } 00122 00137 virtual void enableDeadTimeCounter() = 0; 00138 00140 virtual void disableDeadTimeCounter() = 0; 00141 00143 virtual bool isEnabledDeadTimeCounter() = 0; 00144 00146 virtual void resetDeadTimeCounter() = 0; 00147 00149 virtual void getVetoTime(unsigned long *high, unsigned long *low) = 0; 00150 00152 virtual void getDeadTime(unsigned long *high, unsigned long *low) = 0; 00153 00155 virtual void getRunTime(unsigned long *high, unsigned long *low) 00156 { if ( high ) *high = 0; if ( low ) *low = 0; } 00157 00159 virtual void getVetoTime(unsigned long long *time) = 0; 00160 00162 virtual void getDeadTime(unsigned long long *time) = 0; 00163 00165 virtual void getRunTime(unsigned long long *time) 00166 { if ( time ) *time = 0; } 00167 00168 }; 00169 00170 #endif // FEBASETIMING_H 00171 00172