//* $Id: */ // ------------------------------------------------------------------------- // ----- FairEventBuilder header file ----- // ----- Created 20/09/2013 by R. Karabowicz ----- // ------------------------------------------------------------------------- /** FairEventBuilder *@author Radoslaw Karabowicz *@since 20/09/2013 *@version 1.0 ** ** FairRoot general task for recreating events in Time-Based reconstruction mode. ** Various experiments should implement their own version of Event Builder. ** The main member of the task is vector of reconstructed events fRecoEvents. ** It also contains a vector of implementations of FairEventBuffers, that are ** responsible for feeding fRecoEvents vector via FindEvents() function. ** ** The heart of the experiment-specific implemenations is ** the AnalyzeAndExtractEvents() function, which should interpret ** the experimental data to reconstruct events. **/ #ifndef FAIREVENTBUILDER_H #define FAIREVENTBUILDER_H 1 #include "FairTask.h" #include "FairEventBuffer.h" #include "TStopwatch.h" #include #include #include class TClonesArray; class FairEventBuilder : public FairTask { public : /** Default constructor **/ FairEventBuilder(); /** Constructor with task name **/ FairEventBuilder(const char* name, Int_t iVerbose=1); /** Destructor **/ virtual ~FairEventBuilder(); /** Execution **/ virtual void Exec(Option_t* opt); /** Adding FairEventBuffer **/ void AddEventBuffer(FairEventBuffer* eventBuffer); void CreateAndFillEvents(Double_t maxEventTimeAllowed); private: std::vector fEventBuffers; std::vector > > fPossibleEvents; FairRecoEventHeader* fOutEvent; /** Get parameter containers **/ virtual void SetParContainers(); /** Intialisation **/ virtual InitStatus Init(); /** Reinitialisation **/ virtual InitStatus ReInit(); /** Finish at the end of each event **/ virtual void Finish(); ClassDef(FairEventBuilder,1); }; #endif