00001
00036 #ifndef BDEARLIEST_H
00037 #define BDEARLIEST_H
00038
00039 #include <BeamDataUtil/BDProcessor.h>
00040
00041 #include <Conventions/Munits.h>
00042
00043 class BDEarliest : public BDProcessor {
00044 public:
00045 BDEarliest();
00046 void SetSpill(const RawBeamMonHeaderBlock& rbmhb,
00047 const RawBeamMonBlock& rbmb);
00048
00049
00053 void SetAllowedVmeDeviation(float before = -0.1*Munits::second,
00054 float after = +0.4*Munits::second)
00055 { fBefore = before; fAfter = after; }
00056
00059 void GetTimestamps(double& dae, double& vme)
00060 { dae = fDae; vme = fVme; }
00061 void GetLastTimestamps(double& dae, double& vme)
00062 { dae = fLastDae; vme = fLastVme; }
00063
00064 static void CalculateEarliest(const RawBeamMonBlock& rbmb, double& dae, double& vme,
00065 float before = -0.1*Munits::second,
00066 float after = +0.4*Munits::second);
00067
00068 private:
00069 double fDae, fVme, fLastDae, fLastVme;
00070 float fBefore, fAfter;
00071 };
00072
00073 #endif // BDEARLIEST_H