fesa-core-gsi  4.0.0
fesaGSI::TimingEventSourceWR Class Reference

This event source is able to connect to the WR-Timing, to receive WR-Events and to forward them to fesa-core. More...

#include <TimingEventSourceWR.h>

Inherits AbstractEventSource.

Public Member Functions

void wait (boost::shared_ptr< fesa::RTEvent > &eventToFire)
 This method blocks waiting for one of the registered hardware timing events. Once a timing event has occurred the eventToFire will contain the Timing Context of the event. More...
 
void connect (const boost::shared_ptr< fesa::EventElement > &eventElement)
 connects a FESA-event to a specific WR-Event More...
 
void registerForEvent (const std::string &concreteEventName, const std::string &acceleratorZone, int64_t offset)
 register for a specific WR-Event More...
 

Static Public Member Functions

static void registerTrigger (fesa::AbstractDevice *device, int eventNo, uint64_t offset, uint32_t tag)
 register the event to create a tag on the SCU bus Only one tag per event number More...
 
static void deregisterTrigger (fesa::AbstractDevice *device, int eventNo)
 deregister an event that was creating a tag on the SCU bus More...
 
static void injectTag (uint32_t tag)
 immediately create a tag on the SCU bus More...
 

Detailed Description

This event source is able to connect to the WR-Timing, to receive WR-Events and to forward them to fesa-core.

Member Function Documentation

void fesaGSI::TimingEventSourceWR::connect ( const boost::shared_ptr< fesa::EventElement > &  eventElement)

connects a FESA-event to a specific WR-Event

Parameters
eventElementcontains information about the FESA-event which is to connect
void fesaGSI::TimingEventSourceWR::deregisterTrigger ( fesa::AbstractDevice *  device,
int  eventNo 
)
static

deregister an event that was creating a tag on the SCU bus

Parameters
devicethe device
eventNothe event number
void fesaGSI::TimingEventSourceWR::injectTag ( uint32_t  tag)
static

immediately create a tag on the SCU bus

Parameters
tagtag output to SCU bus
void fesaGSI::TimingEventSourceWR::registerForEvent ( const std::string &  concreteEventName,
const std::string &  acceleratorZone,
int64_t  offset 
)

register for a specific WR-Event

Parameters
concreteEventNameFESA-internal name of the concrete event
acceleratorZoneName of the accelerator-zone to use for the event-filter
void fesaGSI::TimingEventSourceWR::registerTrigger ( fesa::AbstractDevice *  device,
int  eventNo,
uint64_t  offset,
uint32_t  tag 
)
static

register the event to create a tag on the SCU bus Only one tag per event number

Parameters
devicethe device (to find the groupID)
eventNothe event number
offsettime (ns) to wait before triggering
tagtag output to SCU bus
void fesaGSI::TimingEventSourceWR::wait ( boost::shared_ptr< fesa::RTEvent > &  eventToFire)

This method blocks waiting for one of the registered hardware timing events. Once a timing event has occurred the eventToFire will contain the Timing Context of the event.

Parameters
eventToFireevent which will be fired when the method returns

The documentation for this class was generated from the following files: