]>
Commit | Line | Data |
---|---|---|
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 | ||
19 | class AliMUONVStore; | |
20 | class TTree; | |
21 | class TBranch; | |
22 | ||
23 | class AliMUONTreeManager : public TObject | |
24 | { | |
25 | public: | |
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 | ||
52 | private: | |
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 |