AliRoot Core  3dc7879 (3dc7879)
AliAnalysisDataSlot.h
Go to the documentation of this file.
1 #ifndef ALIANALYSISDATASLOT_H
2 #define ALIANALYSISDATASLOT_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice */
5 
30 
31 
32 
33 #ifndef ROOT_TNamed
34 #include "TNamed.h"
35 #endif
36 
37 class TClass;
38 class TTree;
40 class AliAnalysisTask;
41 
42 class AliAnalysisDataSlot : public TNamed {
43 
44 public:
45  AliAnalysisDataSlot() : TNamed(), fType(NULL), fParent(NULL), fContainer(NULL) {}
46  AliAnalysisDataSlot(TClass *type, AliAnalysisTask *task);
48  virtual ~AliAnalysisDataSlot() {}
49 
50  // Assignment
52  // Connect some container to the slot
54  static Int_t EnableBranch(const char *bname, TTree *tree);
55  // Getters
56  void *GetBranchAddress(const char *branch) const;
57  Bool_t SetBranchAddress(const char *branch, void *address);
58  TClass *GetType() const;
59  AliAnalysisTask *GetParent() const {return fParent;}
61  TObject *GetData() const;
62  // Slot status checking
63  Bool_t IsConnected() const {return ((fContainer)?kTRUE:kFALSE);}
64  Bool_t IsDataReady() const;
65 
66 private:
67  void SetType(TClass *type) {fType = type;}
68 
69 protected:
70  TClass *fType;
73 
74  ClassDef(AliAnalysisDataSlot,1) // Class describing an analysis data slot
75 };
76 #endif
AliAnalysysTask - Class representing a basic analysis task. Any user-defined task should derive from...
Bool_t ConnectContainer(AliAnalysisDataContainer *cont)
Bool_t SetBranchAddress(const char *branch, void *address)
Bool_t IsConnected() const
void * GetBranchAddress(const char *branch) const
TClass * fType
! Type of the slot
AliAnalysysDataContainer AliAnalysysDataContainer - Container of data of arbitrary type deriving from...
static Int_t EnableBranch(const char *bname, TTree *tree)
TObject * GetData() const
TTree * tree
AliAnalysysDataSlot Class representing a data slot of an analysis task. An analysis slot enforces a c...
AliAnalysisDataContainer * fContainer
Container connected to the slot.
AliAnalysisTask * GetParent() const
void SetType(TClass *type)
TClass * GetType() const
AliAnalysisDataSlot & operator=(const AliAnalysisDataSlot &slot)
AliAnalysisDataContainer * GetContainer() const
AliAnalysisTask * fParent
Analysis task to which the slot belongs.