]> git.uio.no Git - u/mrichter/AliRoot.git/blob - SHUTTLE/AliCDBPreProcessor.h
Correct loader
[u/mrichter/AliRoot.git] / SHUTTLE / AliCDBPreProcessor.h
1 #ifndef ALI_CDB_PRE_PROCESSOR_H
2 #define ALI_CDB_PRE_PROCESSOR_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id$ */
8
9 //
10 // This class is the CDBPreProcessor interface,
11 // supposed to be implemented by any detector
12 // interested in immediate processing of data 
13 // which is retrieved from DCS.
14 //
15
16 #include <TNamed.h>
17
18 class AliShuttle;
19 class AliCDBMetaData;
20
21 class AliCDBPreProcessor: public TNamed {
22
23         friend class AliShuttle;
24
25 public:
26         AliCDBPreProcessor(const char* detector);
27         virtual ~AliCDBPreProcessor();
28
29         Int_t GetRun() const;
30         UInt_t GetStartTime() const;
31         UInt_t GetEndTime() const;
32
33         Bool_t Store(const char* specType, TObject* object, 
34                 AliCDBMetaData* metaData);
35
36         void SetShuttle(AliShuttle* shuttle) {fShuttle = shuttle;};
37         AliShuttle* GetShuttle() const {return fShuttle;};
38
39 protected:
40
41         virtual void Initialize(Int_t /*run*/, UInt_t /*startTime*/, 
42                         UInt_t /*endTime*/) {};
43
44         virtual void Finalize() {};
45
46         virtual void Process(const char* alias, TObjArray& valueSet, 
47                         Bool_t hasError) = 0;
48
49 private:
50
51         AliShuttle* fShuttle;
52
53         ClassDef(AliCDBPreProcessor, 0);
54 };
55
56 #endif