6 #ifndef H_POTTU_LOGICAL_EVENT_SORTER_BASE
7 #define H_POTTU_LOGICAL_EVENT_SORTER_BASE
12 #include "SharedResourcePool.hpp"
31 template <
class Ev,
class Tr>
53 : _ctxh(
ContextBase::getActive().createHandle(name.c_str())),
54 _eventCollector( *this, _triggerer, triggerDeadTime, eventDelay, maxEventLength )
61 void process( std::vector<DetectorEvent> &data ) noexcept {
64 auto proci = _ctxh->processInstance();
70 _eventCollector.feed( data );
111 int64_t eventStartTime, int64_t eventStopTime ) noexcept = 0;
120 return _logicalEventPool.get();
138 logical_event_pool_t _logicalEventPool;
Handle to context used by specific class.
Definition: ContextBase.hpp:188
Event containing event information of one daq channel.
Definition: DetectorEvent.hpp:47
Class which creates the logical events from stream of detector events.
Definition: LogicalEventCollector.hpp:27
Convenience base class for user sort classes.
Definition: LogicalEventSorterBase.hpp:32
virtual void onTimeOrderError() noexcept=0
Called if the object observes a time order error. This must be implemented in the derived class.
virtual void constructAndProcessLogicalEvent(std::deque< pottu::DetectorEvent >::iterator first, std::deque< pottu::DetectorEvent >::iterator last, int64_t triggerTime, int64_t eventStartTime, int64_t eventStopTime) noexcept=0
Called if the object has found a new trigger. This must be implemented in the derived class.
ContextHandle * context() noexcept
Returns pointer to the ContextHandle.
Definition: LogicalEventSorterBase.hpp:130
int64_t getTriggerDeadtime() const
Returns the trigger dead time.
Definition: LogicalEventSorterBase.hpp:89
void process(std::vector< DetectorEvent > &data) noexcept
Uses or modifies detector events in a container.
Definition: LogicalEventSorterBase.hpp:61
logical_event_handle_t getNewEvent() noexcept
Returns new logical event.
Definition: LogicalEventSorterBase.hpp:119
int64_t getEventDelay() const
Returns the event delay.
Definition: LogicalEventSorterBase.hpp:83
LogicalEventSorterBase(const std::string &name, int triggerDeadTime, int eventDelay, int maxEventLength)
Constructor.
Definition: LogicalEventSorterBase.hpp:52
int64_t getEventMaxLength() const
Returns the maximum event length.
Definition: LogicalEventSorterBase.hpp:77
Handle for a resource derived from SharedResource.
Definition: memory.hpp:43
Pool for SharedResource derived objects.
Definition: SharedResourcePool.hpp:37
Abstract baseclass for all stages which uses or modifies detector events.
Definition: StageDetectorEvent.hpp:20
Definition: mainpage.dox:6
Default context for printing and collecting statistics.
Definition: ContextBase.hpp:41