fdhwlib  2.0.25
/home/kopmann/git-mirror/fdhwlib/fdhwlib/FE/febasetiming.h
Go to the documentation of this file.
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