ROOT logo
// Author: Sangsu Ryu 28/06/2011

/*************************************************************************
 * Copyright (C) 1995-2005, 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_TSelVerifyDataSet
#define ROOT_TSelVerifyDataSet

//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TSelVerifyDataSet                                                    //
//                                                                      //
// PROOF selector to parallel-process dataset on workers                //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TSelector
#include <TSelector.h>
#endif
#ifndef ROOT_TString
#include <TString.h>
#endif

class TTree;
class TFileCollection;

class TSelVerifyDataSet : public TSelector {

private:

   Int_t fFopt;
   Int_t fSopt;
   Int_t fRopt;

   // File selection, Reopen and Touch options
   Bool_t fAllf;
   Bool_t fCheckstg;
   Bool_t fNonStgf;
   Bool_t fReopen;
   Bool_t fTouch;
   Bool_t fStgf;

   // File processing options
   Bool_t fNoaction;
   Bool_t fFullproc;
   Bool_t fLocateonly;
   Bool_t fStageonly;

   // Run options
   Bool_t fDoall;
   Bool_t fGetlistonly;
   Bool_t fScanlist;

   Bool_t fDbg;

   TString fMss;
   TString fStageopts;

   Bool_t fChangedDs;
   Int_t fTouched;
   Int_t fOpened;
   Int_t fDisappeared;

   TFileCollection *fSubDataSet; // Sub-dataset being verified

   void InitMembers();

public :

   TSelVerifyDataSet(TTree *);
   TSelVerifyDataSet();
   virtual ~TSelVerifyDataSet() {}
   virtual Int_t   Version() const {return 1;}
   virtual void    Begin(TTree *) { }
   virtual void    SlaveBegin(TTree *tree);
   virtual void    Init(TTree *) { }
   virtual Bool_t  Notify() { return kTRUE; }
   virtual Bool_t  Process(Long64_t entry);
   virtual void    SetOption(const char *option) { fOption = option; }
   virtual void    SetObject(TObject *obj) { fObject = obj; }
   virtual void    SetInputList(TList *input) {fInput = input;}
   virtual TList  *GetOutputList() const { return fOutput; }
   virtual void    SlaveTerminate();
   virtual void    Terminate() { }

   ClassDef(TSelVerifyDataSet,0) //PROOF selector for parallel dataset verification
};

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