fdhwlib
2.0.25
|
#include <febasetiming.h>
It is necessary to synchronize all subsystems of the Auger experiment with a resolution in time of 100ns.
The time base of the FD system is defined by two long words with a resolution of one second and 50ns.
Every Second a strobe signal is trigged. Possible sources are
The methods forceStrobe() immediately triggers the second strobe.
The electronic will automatically count the number of time atoms, where no normal operation was possible. This will allow to determine the exact observation period.
Changes:
Definition at line 48 of file febasetiming.h.
FEbaseTiming::FEbaseTiming | ( | ) | [inline] |
Definition at line 50 of file febasetiming.h.
{ }
virtual FEbaseTiming::~FEbaseTiming | ( | ) | [virtual] |
virtual void FEbaseTiming::disableDeadTimeCounter | ( | ) | [pure virtual] |
virtual void FEbaseTiming::disableSyncErr | ( | ) | [inline, virtual] |
virtual void FEbaseTiming::enableDeadTimeCounter | ( | ) | [pure virtual] |
Enable the counters for veto- and dead-time.
Before starting the data aquisition the veto- and and dead-time counters should be disabled and a reset should be performed. The value of the counters will be set to zero with the reset command. Directly after starting the data aquisition the inhibit is released and the counters should be enabled.
Note: If the dead-time counters are enabled before the inhibit is released the time between this two commands will be counted as dead-time.
virtual void FEbaseTiming::enableSyncErr | ( | ) | [inline, virtual] |
virtual void FEbaseTiming::getActualTime | ( | FEtimeStamp * | ) | [inline, virtual] |
Get the actual time from the FD Electronics.
t | Timestamp containing second and subsecond values |
Reimplemented in FEtiming.
Definition at line 92 of file febasetiming.h.
{ }
virtual void FEbaseTiming::getActualTime | ( | unsigned long * | second, |
unsigned long * | subSecond | ||
) | [pure virtual] |
virtual void FEbaseTiming::getDeadTime | ( | unsigned long * | high, |
unsigned long * | low | ||
) | [pure virtual] |
virtual void FEbaseTiming::getDeadTime | ( | unsigned long long * | time | ) | [pure virtual] |
virtual void FEbaseTiming::getRunTime | ( | unsigned long * | high, |
unsigned long * | low | ||
) | [inline, virtual] |
Read the run time counter.
Reimplemented in FE4timing.
Definition at line 155 of file febasetiming.h.
{ if ( high ) *high = 0; if ( low ) *low = 0; }
virtual void FEbaseTiming::getRunTime | ( | unsigned long long * | time | ) | [inline, virtual] |
Read the run time counter.
Reimplemented in FE4timing.
Definition at line 165 of file febasetiming.h.
{ if ( time ) *time = 0; }
virtual unsigned long FEbaseTiming::getSecond | ( | ) | [pure virtual] |
virtual int FEbaseTiming::getStrobeSource | ( | ) | [pure virtual] |
virtual unsigned long FEbaseTiming::getSubSecond | ( | ) | [pure virtual] |
virtual void FEbaseTiming::getVetoTime | ( | unsigned long * | high, |
unsigned long * | low | ||
) | [pure virtual] |
virtual void FEbaseTiming::getVetoTime | ( | unsigned long long * | time | ) | [pure virtual] |
virtual bool FEbaseTiming::isEnabledDeadTimeCounter | ( | ) | [pure virtual] |
virtual bool FEbaseTiming::isEnabledSyncErr | ( | ) | [inline, virtual] |
Reimplemented in FE4timing, and FEtiming.
Definition at line 120 of file febasetiming.h.
{ return false; }
virtual void FEbaseTiming::resetDeadTimeCounter | ( | ) | [pure virtual] |
virtual unsigned long FEbaseTiming::setActualTime | ( | ) | [pure virtual] |
virtual void FEbaseTiming::setSecond | ( | unsigned long | sec | ) | [pure virtual] |
virtual void FEbaseTiming::setStrobeSource | ( | int | source | ) | [pure virtual] |
virtual int FEbaseTiming::waitForSyncErr | ( | ) | [inline, virtual] |
A synchronization error may occur in every FPGA.
All interrupt are collected in this function
Reimplemented in FE4timing, and FEtiming.
Definition at line 113 of file febasetiming.h.
{ return(0); }