CbmRoot
Loading...
Searching...
No Matches
HalCbmSource.cxx
Go to the documentation of this file.
1/* Copyright (C) 2023-2023 Warsaw University of Technology, Warsaw
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Daniel Wielanek [committer] */
4#include "HalCbmSource.h"
5
7#include "HalCbmDetectorID.h"
8
9#include <TBranch.h>
10#include <TNamed.h>
11#include <TObjArray.h>
12
13#include <vector>
14
15#include <Hal/Cout.h>
16#include <Hal/InputDataInfo.h>
17#include <Hal/RootIOManager.h>
18
19HalCbmSource::HalCbmSource(TString filename) : Source(filename) { fManager = new HalCbmATIOManager(filename); }
20
21void HalCbmSource::AddFile(TString fileName) { fManager->AddFile(fileName); }
22
23void HalCbmSource::AddFriend(TString friendName, Int_t level) { fManager->AddFriend(friendName, level); }
24
26
28{
29 if (!fAtBranchesSet) {
31 fContainer->LoadConf(fDataInfo);
32
33 auto names = CbmAnaTreeContainers::GetNames();
34 for (int i = 0; i < fContainer->GetSize(); i++) {
35 bool con = fContainer->fContainers[i]->ConnectToTree(GetInChain());
36 if (con) {
37 TString name = HalCbm::GetContainerName(names[i]);
38 AddBranch(name, fContainer->fContainers[i], Hal::BranchInfo::EFlag::kInActive);
39 TObject** obj = new TObject*();
40 obj[0] = fContainer->fContainers[i];
41 PushTObject(obj);
42 }
43 }
44 fAtBranchesSet = kTRUE;
45 }
46 Hal::RootIOManager::UpdateBranches();
47}
48
49HalCbmATIOManager::HalCbmATIOManager(std::initializer_list<TString> lists)
50 : Hal::RootIOManager(new Hal::InputRootDataInfo(lists))
51{
52}
53
58
59Bool_t HalCbmSource::Init() { return kTRUE; }
60
61HalCbmSource::HalCbmSource(std::initializer_list<TString> lists) { fManager = new HalCbmATIOManager(lists); }
int Int_t
bool Bool_t
static std::vector< TString > GetNames()
HalCbmATIOManager(TString name="")
CbmAnaTreeContainers * fContainer
virtual void UpdateBranches()
virtual ~HalCbmATIOManager()
HalCbmSource(TString filename="")
HalCbmATIOManager * fManager
virtual void AddFriend(TString friendName="", Int_t level=0)
virtual void AddFile(TString fileName="")
virtual ~HalCbmSource()
TString GetContainerName(TString name)