Fixes for #86059: Install data when ALICE_ROOT does not point to source (Christian)
[u/mrichter/AliRoot.git] / MUON / AliMUONTreeManager.h
CommitLineData
de6dbd08 1#ifndef ALIMUONTREEMANAGER_H
2#define ALIMUONTREEMANAGER_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5* See cxx source for full Copyright notice */
6
7// $Id$
8
46df088d 9/// \ingroup core
de6dbd08 10/// \class AliMUONTreeManager
11/// \brief Helper class to ease TTree (MUON) branches manipulations
12///
13// Author Laurent Aphecetche, Subatech
14
15#ifndef ROOT_TObject
16# include "TObject.h"
17#endif
18
19class AliMUONVStore;
20class TTree;
21class TBranch;
22
23class AliMUONTreeManager : public TObject
24{
25public:
26
27 AliMUONTreeManager();
28 virtual ~AliMUONTreeManager();
29
30 void AddClassName(TTree& tree, const char* pattern,
31 const char* className) const;
32
33 Bool_t MakeBranch(TTree& tree, const char* storeClassName,
34 const char* branchClassName, const char* branchName,
35 void* address,
1b544d5a 36 Int_t bufferSize = 4000, Int_t splitLevel = 99) const;
de6dbd08 37
38 Bool_t SetAddress(TTree& tree, const char* branchName, void* address) const;
39
40 TObject* CreateObject(const TTree& tree, const char* detail) const;
41
42 void UpdateBranchStatuses(TTree& tree, const char* pattern) const;
43
de6dbd08 44 /** Debug method to get an event, but checking beforehand that all selected
45 branches do have a non-zero address set (otherwise we leak memory).
46 */
47 void GetEvent(TTree& tree, Int_t event) const;
48
49 /// Debug method to show the tree branch statuses and addresses.
50 void ShowStatus(TTree& tree) const;
51
52private:
53
d725888e 54 TString GetClassName(const TTree& tree, const char* pattern,
55 Bool_t makeDefault) const;
56
57 TString DefaultClassName(const char* treename, const char* pattern) const;
de6dbd08 58
59 ClassDef(AliMUONTreeManager,0) // Helper class to handle MUON TTrees
60};
61
62#endif