]> git.uio.no Git - u/mrichter/AliRoot.git/blob - RALICE/AliJob.h
New check for bad SDD modules (F. Prino)
[u/mrichter/AliRoot.git] / RALICE / AliJob.h
1 #ifndef ALIJOB_H
2 #define ALIJOB_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 // $Id$
7
8 #include "TROOT.h"
9 #include "TTask.h"
10 #include "TFolder.h"
11 #include "TObjArray.h"
12
13 class AliJob : public TTask
14 {
15  public :
16   AliJob(const char* name="AliJob",const char* title=""); // Constructor
17   virtual ~AliJob();                                      // Destructor
18   void ListEnvironment();                                 // Provide listing of the job environment
19   void ExecuteJob(Int_t mode=0);                          // Invokation of the top level processing
20   void MakeFolder();                                      // Select creation of the folder structure 
21   TFolder* GetFolder() const;                             // Provide pointer to the whiteboard folder 
22   TObject* GetMainObject() const;                         // Provide pointer to the main object structure
23   void AddObject(TObject* obj);                           // Add an object into the environment
24   void AddObjects(TObjArray* arr);                        // Add all array objects into the environment
25   void RemoveObject(TObject* obj);                        // Remove an object from the environment
26   void RemoveObjects(const char* classname);              // Remove all objects inheriting from "classname"
27   TObject* GetObject(const char* classname) const;        // Provide first stored object inheriting from "classname" 
28   TObject* GetObject(Int_t j) const;                      // Provide j-th stored object
29   TObjArray* GetObjects() const;                          // Provide all stored object pointers
30   TObjArray* GetObjects(const char* classname);           // Provide all objects inheriting from "classname" 
31   void ProcessObject(TObject* obj);                       // Process all sub-tasks for the specified object
32
33  protected :
34   Int_t fMakefolder;    // Flag to indicate creation of the folder structure
35   TFolder* fFolder;     // Pointer to the folder which serves as the job's whiteboard
36   TObject* fMainObject; // Pointer to the main processing object structure within the job
37   TObjArray* fObjects;  // Pointers to the various user-added objects 
38   TObjArray* fSelect;   //! Temp. array of pointers to user-selected stored objects 
39
40   void SetMainObject(TObject* obj); // Store pointer to the main object structure
41
42  ClassDef(AliJob,4) // Base class for top level job in a task based procedure 
43 };
44 #endif