PandaRoot
BSEmcJoinBranches.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 #ifndef BSEMCJOINBRANCHES_HH
14 #define BSEMCJOINBRANCHES_HH
15 
16 #include <vector>
17 
18 #include "Rtypes.h"
19 #include "RtypesCore.h"
20 #include "TString.h"
21 
22 #include "FairTask.h"
23 
24 #include "PndPersistencyTask.h"
25 
26 class TClonesArray;
27 class TBuffer;
28 class TClass;
29 class TMemberInspector;
30 
40  public:
42  BSEmcJoinBranches(const std::vector<TString> &t_srcbranchnames, const TString &t_targetbranchname, Bool_t t_storeTarget = kTRUE);
43  virtual ~BSEmcJoinBranches();
44  virtual InitStatus Init() /*override*/;
45  virtual void Exec(Option_t * /*unused*/) /*override*/;
46 
47  protected:
48  private:
49  std::vector<TString> fSourceBranchNames{};
50  TString fTargetBranchName{""};
51  std::vector<TClonesArray *> fSourceArrays{};
52  TClonesArray *fTargetArray{nullptr};
53 
54  ClassDef(BSEmcJoinBranches, 1);
55 };
56 
57 #endif /*BSEMCJOINBRANCHES_HH*/
Task to join several branches (supplied as t_srcbranchnames in ctor) into one t_targetbranchname.
virtual ~BSEmcJoinBranches()
virtual void Exec(Option_t *)
virtual InitStatus Init()