ROOT logo
AliRoot » ANALYSIS » AliAnalysisDataSlot

class AliAnalysisDataSlot: public TNamed

   AliAnalysysDataSlot - Class representing a data slot of an analysis task.
      An analysis slot enforces a certain data type required by the Exec()
      method of the analysis task. The slot must be connected to a data
      container with data of the same type.

 The class should not be directly created by users - it is created by
 each AliAnalysisTask when defining its input/output slots using:

    AliAnalysisTask::SetInput(Int_t index, TClass *type);
    AliAnalysisTask::SetOutput(TClass *type);

 An existing data contaner (AliAnalysisDataContainer) can be connected to the
 input/output slots of an analysis task using:

   AliAnalysisModule::ConnectInput(AliAnalysisTask *task, Int_t islot,
                                   AliAnalysisDataContainer *cont)
   AliAnalysisModule::ConnectOutput(AliAnalysisTask *task,
                                    AliAnalysisDataContainer *cont)
 To connect a slot to a data container, the data types declared by both must
 match.

Function Members (Methods)

public:
AliAnalysisDataSlot()
AliAnalysisDataSlot(const AliAnalysisDataSlot& slot)
AliAnalysisDataSlot(TClass* type, AliAnalysisTask* task)
virtual~AliAnalysisDataSlot()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
Bool_tConnectContainer(AliAnalysisDataContainer* cont)
virtual voidTNamed::Copy(TObject& named) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
static Int_tEnableBranch(const char* bname, TTree* tree)
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
void*GetBranchAddress(const char* branch) const
AliAnalysisDataContainer*GetContainer() const
TObject*GetData() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
AliAnalysisTask*GetParent() const
virtual const char*TNamed::GetTitle() const
TClass*GetType() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tIsConnected() const
Bool_tIsDataReady() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
AliAnalysisDataSlot&operator=(const AliAnalysisDataSlot& slot)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
Bool_tSetBranchAddress(const char* branch, void* address)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
private:
voidSetType(TClass* type)

Data Members

protected:
AliAnalysisDataContainer*fContainerContainer connected to the slot
TStringTNamed::fNameobject identifier
AliAnalysisTask*fParentAnalysis task to which the slot belongs
TStringTNamed::fTitleobject title
TClass*fType! Type of the slot

Class Charts

Inheritance Chart:
TNamed
AliAnalysisDataSlot

Function documentation

AliAnalysisDataSlot(TClass* type, AliAnalysisTask* task)
 Default constructor.
AliAnalysisDataSlot(const AliAnalysisDataSlot& slot)
 Copy ctor.
AliAnalysisDataSlot& operator=(const AliAnalysisDataSlot& slot)
 Assignment
Bool_t ConnectContainer(AliAnalysisDataContainer* cont)
 Connect the data slot with a given container. The operation will succeed only
 if the type defined by the slot inherits from the type enforced by the container.
 The error message in case of failure is posted by the caller.
TClass * GetType() const
 Get class type for this slot.
void * GetBranchAddress(const char* branch) const
 Retrieve the address for a given branch. One should always test this before
 using SetBranchAddress because the address gets set by the first caller.
 Call this in MyTask::Init()
Int_t EnableBranch(const char* bname, TTree* tree)
 Static method to enable recursively a branch in a tree (why this in not in ROOT?)
Bool_t SetBranchAddress(const char* branch, void* address)
 Set a branch address for input tree. To be called during MyTask::Init()
 only if GetBranchAddress() returns a NULL pointer for a tree-type slot.
TObject * GetData() const
 Retreives the data from the container if it is ready.
Bool_t IsDataReady() const
 Check if data for this slot is ready in its container.
AliAnalysisDataSlot()
{}
virtual ~AliAnalysisDataSlot()
{}
AliAnalysisTask * GetParent() const
{return fParent;}
AliAnalysisDataContainer * GetContainer() const
{return fContainer;}
Bool_t IsConnected() const
 Slot status checking
{return ((fContainer)?kTRUE:kFALSE);}
void SetType(TClass* type)
{fType = type;}