GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> EMP / V1-4-1 > asc / mv2304
Typedefs | |
typedef struct _EMP_hdr | EMP_hdr |
Typedef for struct _EMP_hdr. | |
typedef struct _EMP_hdrEvt | EMP_hdrEvt |
Typedef for _EMP_hdrEvt. | |
Functions | |
void | EMP_hdrClear (EMP_hdr *hdr) |
Clear the LSF_statsHdr structure. | |
unsigned int | EMP_hdrEvtSet (EMP_hdrEvt *evt, unsigned int relative, unsigned long long seq, unsigned int gemClock, unsigned int gemStrobe) |
Sets specified event marker. |
CVS $Id: EMP_hdr.h,v 1.1 2006/03/01 01:44:42 russell Exp $
Typedef for struct _EMP_hdr.
beg_evt_sequence = hdr->evt.beg.seq; end_evt_sequence = hdr->evt.end.seq; beg_seconds = hdr->evt.beg.timetones.cur.secs; end_seconds = hdr->evt.end.timetones.cur.secs; elasped_seconds = beg_seconds - end_seconds; events_seen = end_evt_sequence - beg_evt_sequence; events_accumulated = hdr->nevts;
unsigned long long int get_event_time (const EMP_hdrEvt *evt) { unsigned int curGemStrobe = evt->timetones.cur.gemStrobe & TICKS; unsigned int prvGemStrobe = evt->timetones.cur.gemStrobe & TICKS; unsigned int deltaTicks = curGemStrobe - prvGemStrobe; unsigned int curGemSecs = evt->timetones.cur.secs; unsigned int prvGemSecs = evt->timetones.prv.secs; unsigned int deltaNsecs = ONE_BILLION * (curGemSecs - prvGemSecs); unsigned int curGemClock = evt->gemClock & TICKS; unsigned int elapsedTicks = curGemClock - curGemStrobe; unsigned long long int time; // One needs to exercise caution to make sure the arithmetic // is done properly. In particular the mulitplication, // elapsedTicks * deltaNsecs, should yield an unsigned long long int // while the division by deltaTicks should be considered a 64/32 bit // division. time = ONE_BILLION * secs + (elapsedTicks * deltaNsecs) / deltaTicks; return time;
beg_time = get_event_time (&hdr->span.beg); end_time = get_event_time (&hdr->span.end); elapsed_time = end_time - beg_time;
Typedef for _EMP_hdrEvt.
void EMP_hdrClear | ( | EMP_hdr * | hdr | ) |
unsigned int EMP_hdrEvtSet | ( | EMP_hdrEvt * | evt, | |
unsigned int | relative, | |||
unsigned long long | seq, | |||
unsigned int | gemClock, | |||
unsigned int | gemStrobe | |||
) |
Sets specified event marker.
evt | Pointer to the target EMP_hdrEvt | |
relative | The relative (to the beginning of the buffer) event number (1 = first event) | |
seq | Extended seqence number of the event | |
gemClock | Event clock register read from GEM contributor of event | |
gemStrobe | Event PPS cock register read from GEM contributor of event |
References _EMP_hdrTimetones::cur, EMP__hdrEvtSeqSet(), _EMP_hdrTimetone::flags, _EMP_hdrEvt::gemClock, _EMP_hdrTimetone::gemStrobe, _EMP_hdrTimetones::prv, _EMP_hdrEvt::relative, _EMP_hdrTimetone::secs, _EMP_hdrEvt::seq, and _EMP_hdrEvt::timetones.
Referenced by AscEdsProcess().