Heavy ion Analysis Libriares
Loading...
Searching...
No Matches
DataManager.h
1/*
2 * HalDataManager.h
3 *
4 * Created on: 30-04-2022
5 * Author: Daniel Wielanek
6 * E-mail: daniel.wielanek@gmail.com
7 * Warsaw University of Technology, Faculty of Physics
8 */
9#ifndef HAL_FEATURES_IO_DATAMANAGER_H_
10#define HAL_FEATURES_IO_DATAMANAGER_H_
11
12#include <TObject.h>
13#include <TString.h>
14
15#include <vector>
16
21class TFile;
22class TList;
23class TChain;
24namespace Hal {
25 class IOManager;
26 class MagField;
27 class DataManager : public TObject {
28 IOManager* fManager;
29
30 public:
31 DataManager(IOManager* mngr = nullptr);
32 static DataManager* Instance();
38 Bool_t CheckBranch(const char* BrName);
39 Int_t GetEntry(Int_t i, Int_t flag);
40 Int_t GetEntries() const;
41 Bool_t Init();
49 void Register(const char* name, const char* folderName, TNamed* obj, Bool_t toFile);
57 void Register(const char* name, const char* Foldername, TCollection* obj, Bool_t toFile);
58 void SetInChain(TChain* tempChain, Int_t ident = -1);
59 void UpdateBranches();
60 void GetIOManagerInfo();
65 void SetManager(IOManager* mngr) { fManager = mngr; }
66 TObject* GetObject(const char* BrName);
67 TString GetSourceName() const;
68 const std::vector<TString> GetBranchNameList();
69 virtual MagField* GetField() const;
70 virtual ~DataManager();
71 ClassDef(DataManager, 1)
72 };
73} // namespace Hal
74
75#endif /* HAL_FEATURES_IO_DATAMANAGER_H_ */
void Register(const char *name, const char *folderName, TNamed *obj, Bool_t toFile)
Bool_t CheckBranch(const char *BrName)
void SetManager(IOManager *mngr)
Definition DataManager.h:65