ROOT logo
// Author: Wim Lavrijsen   March 2008

#ifndef ROOT_TPySelector
#define ROOT_TPySelector

//////////////////////////////////////////////////////////////////////////////
//                                                                          //
// TPySelector                                                              //
//                                                                          //
// Python base class equivalent of PROOF TSelector.                         //
//                                                                          //
//////////////////////////////////////////////////////////////////////////////


//- ROOT
#ifndef ROOT_TSelector
#include "TSelector.h"
#endif

#ifndef ROOT_TTree
#include "TTree.h"
#endif

// Python
struct _object;
typedef _object PyObject;


class TPySelector : public TSelector {
public:
   TTree* fChain;

public:
// ctor/dtor ... cctor and assignment are private in base class
   TPySelector( TTree* /* tree */ = 0, PyObject* self = 0 );
   virtual ~TPySelector();

// TSelector set of forwarded (overridden) methods
   virtual Int_t  Version() const;
   virtual Int_t  GetEntry( Long64_t entry, Int_t getall = 0 );
   virtual Bool_t Notify();

   virtual void   Init( TTree* tree );
   virtual void   Begin( TTree* tree = 0 /* not used */ );
   virtual void   SlaveBegin( TTree* tree );
   virtual Bool_t Process( Long64_t entry );
   virtual void   SlaveTerminate();
   virtual void   Terminate();

   virtual void Abort( const char* why, EAbort what = kAbortProcess );

   ClassDef( TPySelector, 1 );   //Python equivalent base class for PROOF

private:
// private helpers for forwarding to python
   void SetupPySelf();
   PyObject* CallSelf( const char* method, PyObject* pyobject = 0 );

private:
   PyObject* fPySelf;              //! actual python object
};

#endif
 TPySelector.h:1
 TPySelector.h:2
 TPySelector.h:3
 TPySelector.h:4
 TPySelector.h:5
 TPySelector.h:6
 TPySelector.h:7
 TPySelector.h:8
 TPySelector.h:9
 TPySelector.h:10
 TPySelector.h:11
 TPySelector.h:12
 TPySelector.h:13
 TPySelector.h:14
 TPySelector.h:15
 TPySelector.h:16
 TPySelector.h:17
 TPySelector.h:18
 TPySelector.h:19
 TPySelector.h:20
 TPySelector.h:21
 TPySelector.h:22
 TPySelector.h:23
 TPySelector.h:24
 TPySelector.h:25
 TPySelector.h:26
 TPySelector.h:27
 TPySelector.h:28
 TPySelector.h:29
 TPySelector.h:30
 TPySelector.h:31
 TPySelector.h:32
 TPySelector.h:33
 TPySelector.h:34
 TPySelector.h:35
 TPySelector.h:36
 TPySelector.h:37
 TPySelector.h:38
 TPySelector.h:39
 TPySelector.h:40
 TPySelector.h:41
 TPySelector.h:42
 TPySelector.h:43
 TPySelector.h:44
 TPySelector.h:45
 TPySelector.h:46
 TPySelector.h:47
 TPySelector.h:48
 TPySelector.h:49
 TPySelector.h:50
 TPySelector.h:51
 TPySelector.h:52
 TPySelector.h:53
 TPySelector.h:54
 TPySelector.h:55
 TPySelector.h:56
 TPySelector.h:57
 TPySelector.h:58
 TPySelector.h:59
 TPySelector.h:60
 TPySelector.h:61
 TPySelector.h:62
 TPySelector.h:63