Belle II Software
release-08-01-10
|
Findlet which can wrap another Findlet and forward the contents of a StoreArray to the wrapped findlet. More...
#include <FindletStoreArrayInput.h>
Public Types | |
using | DataStoreInputTypePtrType = typename std::tuple_element< 0, typename TWrappedFindlet::IOTypes >::type |
this will be something like RecoTrack const * , so string the pointer | |
using | DataStoreInputTypeRefType = typename std::remove_pointer< DataStoreInputTypePtrType >::type |
same as reference | |
using | IOTypes = std::tuple< AIOTypes... > |
Types that should be served to apply on invokation. | |
using | IOVectors = std::tuple< std::vector< AIOTypes >... > |
Vector types that should be served to apply on invokation. | |
Public Member Functions | |
FindletStoreArrayInput () | |
Create a new instance of the module. | |
void | exposeParameters (ModuleParamList *moduleParamList, const std::string &prefix) override final |
Expose the parameters to a module. | |
std::string | getDescription () override final |
Short description of the findlet. | |
void | beginEvent () override final |
Clear the local cache of the store array input for each new event. | |
void | apply () override final |
timing extraction for this findlet | |
virtual void | apply (ToVector< AIOTypes > &... ioVectors)=0 |
Main function executing the algorithm. | |
void | initialize () override |
Receive and dispatch signal before the start of the event processing. | |
void | beginRun () override |
Receive and dispatch signal for the beginning of a new run. | |
void | endRun () override |
Receive and dispatch signal for the end of the run. | |
void | terminate () override |
Receive and dispatch Signal for termination of the event processing. | |
Protected Types | |
using | ToVector = typename ToVectorImpl< T >::Type |
Short hand for ToRangeImpl. | |
Protected Member Functions | |
void | addProcessingSignalListener (ProcessingSignalListener *psl) |
Register a processing signal listener to be notified. | |
int | getNProcessingSignalListener () |
Get the number of currently registered listeners. | |
Private Types | |
using | Super = TrackFindingCDC::Findlet<> |
Type of the base class. | |
Private Attributes | |
TrackFindingCDC::StoreArrayLoader< DataStoreInputTypeRefType > | m_storeArrayLoader |
This class will transfer the content of the StoreArrey into a std::vector for each event The std::vector is used as input for the wrapped findlet. | |
TWrappedFindlet | m_wrappedFindlet |
Instance of the wrapped findlet. | |
std::vector< DataStoreInputTypePtrType > | m_storeArrayInput |
as member to keep vector memory allocated from event to event | |
std::vector< ProcessingSignalListener * > | m_subordinaryProcessingSignalListeners |
References to subordinary signal processing listener contained in this findlet. | |
bool | m_initialized = false |
Flag to keep track whether initialization happend before. | |
bool | m_terminated = false |
Flag to keep track whether termination happend before. | |
std::string | m_initializedAs |
Name of the type during initialisation. | |
Findlet which can wrap another Findlet and forward the contents of a StoreArray to the wrapped findlet.
This simplifies development of findlets who can either be used stand-alone (with input from a StoreArray) or within a more complex findlet chain with input from, for example, an std::vector. For an example, see the TrackTimeExtractionModule
Internally, this class uses the StoreArrayLoader to transfer the pointers from a StoreArray to an std::vector for each event.
Definition at line 33 of file FindletStoreArrayInput.h.