ROOT logo
#ifndef HTASKSET_H
#define HTASKSET_H

#include "THashList.h"
#include "THashTable.h"
#include "TOrdCollection.h"
#include "htask.h"

class HTaskSet : public HTask {
protected:
  TOrdCollection fTasks; // Tasks in this set
  HTask *fNextTask;
  HTask *fFirstTask;
  Int_t ids[8];

private:
    HTaskSet(HTaskSet &ts);
public:
  HTaskSet(void);
  HTaskSet(const Text_t name[],const Text_t title[]);
  ~HTaskSet(void);
  
  // initialisation
  Bool_t init(void);
  Bool_t finalize(void);
  Bool_t reinit(void);
  
  // connection via macros
  Bool_t add(HTask *);
  Bool_t connect(HTask *);
  Bool_t connect(HTask *,HTask *,Int_t n = kGOFORWARD);
  Bool_t connect(HTask *,const Text_t *where,Int_t n = kGOFORWARD);
  Bool_t connect(const Text_t task[],const Text_t where[],Int_t n=0);
  Bool_t connectTask(HTask *,Int_t n);  
  // clearing of table
  void Clear(Option_t *opt="");
  
  // function to be used for derived task sets (HRichTaskSet, etc.)
  HTask *make(const Char_t *select="",const Option_t *option="") {return 0;}

  //Control execution flow
  HTask *next(Int_t &errCode);
  HTask *next(Int_t &errCode, Int_t id);
  HTask *operator()(Int_t &errCode) {return next(errCode);}
  //characteristics
  HTask* getComposite() {return this;}
  TOrdCollection* getSetOfTask() {return &fTasks;}
  HTask* getTask(const Char_t *name);
  //Dump of connections
  void print();

  //Browsing
  Bool_t IsFolder(void) const;
  void Browse(TBrowser *b);
  void isTimed(Bool_t flag=kTRUE);
  void resetTimer(void);
  void printTimer(void);

  //Event ids
  void    setIds(Int_t i0, Int_t i1=-1, Int_t i2=-1, Int_t i3=-1, Int_t i4=-1,
              Int_t i5=-1, Int_t i6=-1, Int_t i7=-1);
  Int_t*  getIds(Int_t &size){size=sizeof(ids)/sizeof(Int_t);return &ids[0];}
  ClassDef(HTaskSet,2) // Set of tasks
};

#endif /* !HTASKSET_H */

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