ROOT logo
// @(#)root/tree:$Id: TSelectorCint.h 24077 2008-05-31 19:39:09Z brun $
// Author: Rene Brun   05/02/97

/*************************************************************************
 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#ifndef ROOT_TSelectorCint
#define ROOT_TSelectorCint


//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TSelectorCint                                                        //
//                                                                      //
// A utility class for Trees selections.  (via interpreter)             //
//                                                                      //
//////////////////////////////////////////////////////////////////////////


#ifndef ROOT_TSelector
#include "TSelector.h"
#endif
#ifndef ROOT_TInterpreter
#include "TInterpreter.h"
#endif

class TSelectorCint : public TSelector {

private:
   void SetFuncProto(CallFunc_t *cf, ClassInfo_t *cl, const char* fname,
                     const char* argtype, Bool_t required = kTRUE);

protected:
   ClassInfo_t  *fClass;        //!
   CallFunc_t   *fFuncVersion;  //!
   CallFunc_t   *fFuncInit;     //!
   CallFunc_t   *fFuncBegin;    //!
   CallFunc_t   *fFuncSlBegin;  //!
   CallFunc_t   *fFuncNotif;    //!
   CallFunc_t   *fFuncSlTerm;   //!
   CallFunc_t   *fFuncTerm;     //!
   CallFunc_t   *fFuncCut;      //!
   CallFunc_t   *fFuncFill;     //!
   CallFunc_t   *fFuncProc;     //!
   CallFunc_t   *fFuncOption;   //!
   CallFunc_t   *fFuncObj;      //!
   CallFunc_t   *fFuncInp;      //!
   CallFunc_t   *fFuncOut;      //!
   CallFunc_t   *fFuncGetAbort; //!
   CallFunc_t   *fFuncGetStat;  //!
   TSelector    *fIntSelector;  //Pointer to interpreted selector (if interpreted)
   Bool_t        fIsOwner;      //True if fIntSelector shoudl be deleted when the this object is deleted.

public:
   TSelectorCint();
   virtual            ~TSelectorCint();
   virtual void        Build(TSelector *iselector, ClassInfo_t *cl, Bool_t isowner = kTRUE);
   virtual int         Version() const;
   virtual void        Init(TTree *);
   virtual void        Begin(TTree *tree);
   virtual void        SlaveBegin(TTree *);
   virtual Bool_t      Notify();
   virtual Bool_t      ProcessCut(Long64_t entry);
   virtual void        ProcessFill(Long64_t entry);
   virtual Bool_t      Process(Long64_t entry);
   virtual void        SetOption(const char *option);
   virtual void        SetObject(TObject *obj);
   virtual void        SetInputList(TList *input);
   virtual TList      *GetOutputList() const;
   virtual void        SlaveTerminate();
   virtual void        Terminate();
   virtual EAbort      GetAbort() const;
   virtual Long64_t    GetStatus() const;

   ClassDef(TSelectorCint,0)  //A utility class for tree and object processing (interpreted version)
};

#endif

 TSelectorCint.h:1
 TSelectorCint.h:2
 TSelectorCint.h:3
 TSelectorCint.h:4
 TSelectorCint.h:5
 TSelectorCint.h:6
 TSelectorCint.h:7
 TSelectorCint.h:8
 TSelectorCint.h:9
 TSelectorCint.h:10
 TSelectorCint.h:11
 TSelectorCint.h:12
 TSelectorCint.h:13
 TSelectorCint.h:14
 TSelectorCint.h:15
 TSelectorCint.h:16
 TSelectorCint.h:17
 TSelectorCint.h:18
 TSelectorCint.h:19
 TSelectorCint.h:20
 TSelectorCint.h:21
 TSelectorCint.h:22
 TSelectorCint.h:23
 TSelectorCint.h:24
 TSelectorCint.h:25
 TSelectorCint.h:26
 TSelectorCint.h:27
 TSelectorCint.h:28
 TSelectorCint.h:29
 TSelectorCint.h:30
 TSelectorCint.h:31
 TSelectorCint.h:32
 TSelectorCint.h:33
 TSelectorCint.h:34
 TSelectorCint.h:35
 TSelectorCint.h:36
 TSelectorCint.h:37
 TSelectorCint.h:38
 TSelectorCint.h:39
 TSelectorCint.h:40
 TSelectorCint.h:41
 TSelectorCint.h:42
 TSelectorCint.h:43
 TSelectorCint.h:44
 TSelectorCint.h:45
 TSelectorCint.h:46
 TSelectorCint.h:47
 TSelectorCint.h:48
 TSelectorCint.h:49
 TSelectorCint.h:50
 TSelectorCint.h:51
 TSelectorCint.h:52
 TSelectorCint.h:53
 TSelectorCint.h:54
 TSelectorCint.h:55
 TSelectorCint.h:56
 TSelectorCint.h:57
 TSelectorCint.h:58
 TSelectorCint.h:59
 TSelectorCint.h:60
 TSelectorCint.h:61
 TSelectorCint.h:62
 TSelectorCint.h:63
 TSelectorCint.h:64
 TSelectorCint.h:65
 TSelectorCint.h:66
 TSelectorCint.h:67
 TSelectorCint.h:68
 TSelectorCint.h:69
 TSelectorCint.h:70
 TSelectorCint.h:71
 TSelectorCint.h:72
 TSelectorCint.h:73
 TSelectorCint.h:74
 TSelectorCint.h:75
 TSelectorCint.h:76
 TSelectorCint.h:77
 TSelectorCint.h:78
 TSelectorCint.h:79
 TSelectorCint.h:80
 TSelectorCint.h:81
 TSelectorCint.h:82
 TSelectorCint.h:83
 TSelectorCint.h:84