Belle II Software  release-08-01-10
FindletStoreArrayInput< TWrappedFindlet > Class Template Referenceabstract

Findlet which can wrap another Findlet and forward the contents of a StoreArray to the wrapped findlet. More...

#include <FindletStoreArrayInput.h>

Inheritance diagram for FindletStoreArrayInput< TWrappedFindlet >:
Collaboration diagram for FindletStoreArrayInput< TWrappedFindlet >:

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< DataStoreInputTypeRefTypem_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< DataStoreInputTypePtrTypem_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.
 

Detailed Description

template<class TWrappedFindlet>
class Belle2::TrackFindingCDC::FindletStoreArrayInput< TWrappedFindlet >

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.


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