FairRoot
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FairMCDataCrawler.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 /*
9  * FairMCDataCrawler.h
10  *
11  * Created on: Jul 5, 2011
12  * Author: stockman
13  */
14 
15 #ifndef FAIRMCDATACRAWLER_H_
16 #define FAIRMCDATACRAWLER_H_
17 
18 #include "FairMultiLinkedData.h" // for FairMultiLinkedData
19 
20 #include <Rtypes.h> // for Int_t, Bool_t, etc
21 #include <TObject.h> // for TObject
22 #include <TString.h> // for TString
23 
24 class FairLink;
25 class FairRootManager;
26 
27 class FairMCDataCrawler : public TObject
28 {
29  public:
31  virtual ~FairMCDataCrawler();
32 
33  FairMultiLinkedData GetInfo(FairMultiLinkedData startLink, TString stopStage);
34  FairMultiLinkedData GetInfo(FairMultiLinkedData startLink, Int_t stopStageId);
35 
36  FairMultiLinkedData* GetEntry(Int_t fileId, Int_t eventNr, Int_t type, Int_t index);
38 
39  void SetStoreIntermediate(Bool_t val = kTRUE) { fStoreIntermediate = val; }
40  void SetStoreAllEndpoints(Bool_t val = kTRUE) { fStoreAllEndpoints = val; }
41 
42  void Init();
43 
44  void SetVerbose(Int_t val) { fVerbose = val; };
45 
46  virtual void InitDataObjects() = 0;
47 
48  protected:
50 
51  private:
52  FairMultiLinkedData fFinalStage;
53  Int_t fUltimateStage;
54 
55  Int_t fVerbose;
56  Bool_t fStoreAllEndpoints;
57  Bool_t fStoreIntermediate;
58 
59  void GetNextStage(FairMultiLinkedData& startEntry, Int_t stopStage);
60  void AddToFinalStage(FairLink link, Float_t mult);
61  void ClearFinalStage();
62 
64  FairMCDataCrawler& operator=(const FairMCDataCrawler&);
65 
66  ClassDef(FairMCDataCrawler, 1);
67 };
68 
69 #endif /* FAIRMCDATACRAWLER_H_ */
FairRootManager * fIoman
virtual void InitDataObjects()=0
void SetStoreIntermediate(Bool_t val=kTRUE)
FairMultiLinkedData * GetEntry(Int_t fileId, Int_t eventNr, Int_t type, Int_t index)
FairMultiLinkedData GetInfo(FairMultiLinkedData startLink, TString stopStage)
void SetVerbose(Int_t val)
void SetStoreAllEndpoints(Bool_t val=kTRUE)