FairRoot
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FairEventBuilderManager.h
Go to the documentation of this file.
1 /********************************************************************************
2  * Copyright (C) 2014 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH *
3  * *
4  * This software is distributed under the terms of the *
5  * GNU Lesser General Public Licence (LGPL) version 3, *
6  * copied verbatim in the file "LICENSE" *
7  ********************************************************************************/
8 //* $Id: */
9 
10 // -------------------------------------------------------------------------
11 // ----- FairEventBuilderManager header file -----
12 // ----- Created 20/09/2013 by R. Karabowicz -----
13 // -------------------------------------------------------------------------
14 
31 #ifndef FAIREVENTBUILDERMANAGER_H
32 #define FAIREVENTBUILDERMANAGER_H 1
33 
34 #include "FairEventBuilder.h"
35 #include "FairTask.h"
36 
37 #include <Rtypes.h> // ClassDef
38 #include <vector>
39 
40 class TClonesArray;
41 
43 {
44  public:
47 
49  FairEventBuilderManager(const char* name, Int_t iVerbose = 1);
50 
52  virtual ~FairEventBuilderManager();
53 
55  virtual void Exec(Option_t* opt);
56 
58  virtual void AddEventBuilder(FairEventBuilder* eventBuilder);
59 
60  protected:
61  std::vector<FairEventBuilder*> fEventBuilders;
62  std::vector<std::vector<std::pair<double, FairRecoEventHeader*>>> fPossibleEvents;
63 
65  virtual Double_t FillEventVectors();
66 
68  virtual void AnalyzeAndExtractEvents(Double_t maxEventTimeAllowed) = 0;
69 
71  virtual void CreateAndFillEvent(FairRecoEventHeader* recoEvent);
72 
73  private:
75  virtual void SetParContainers();
76 
78  virtual InitStatus Init();
79 
81  virtual InitStatus ReInit();
82 
84  virtual void Finish();
85 
86  ClassDef(FairEventBuilderManager, 1);
87 };
88 
89 #endif
virtual void Exec(Option_t *opt)
InitStatus
Definition: FairTask.h:33
virtual void AddEventBuilder(FairEventBuilder *eventBuilder)
std::vector< std::vector< std::pair< double, FairRecoEventHeader * > > > fPossibleEvents
std::vector< FairEventBuilder * > fEventBuilders
virtual void CreateAndFillEvent(FairRecoEventHeader *recoEvent)
virtual void AnalyzeAndExtractEvents(Double_t maxEventTimeAllowed)=0