Line data Source code
1 : #ifndef ALIMUONPREPROCESSOR_H
2 : #define ALIMUONPREPROCESSOR_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 : /// \ingroup shuttle
10 : /// \class AliMUONPreprocessor
11 : /// \brief Shuttle preprocessor for MUON subsystems (TRK and TRG)
12 : ///
13 : // Author Laurent Aphecetche
14 :
15 : #ifndef ALI_PREPROCESSOR_H
16 : # include "AliPreprocessor.h"
17 : #endif
18 :
19 : class AliMUONVSubprocessor;
20 : class TObjArray;
21 :
22 : class AliMUONPreprocessor : public AliPreprocessor
23 : {
24 : public:
25 : virtual void Initialize(Int_t run, UInt_t startTime, UInt_t endTime);
26 : virtual UInt_t Process(TMap* dcsAliasMap);
27 : virtual void Print(Option_t* opt="") const;
28 :
29 : /// Return info whether the current subprocessor(s) needs DCS or not
30 0 : virtual Bool_t ProcessDCS() { return fProcessDCS; }
31 :
32 : /// Publish AliPreprocessor::Log function
33 0 : void Log(const char* message) { AliPreprocessor::Log(message); }
34 :
35 : /// Publish AliPreprocessor::GetFileSources function
36 : TList* GetFileSources(Int_t system, const char* id)
37 0 : { return AliPreprocessor::GetFileSources(system,id); }
38 :
39 : /// Publish AliPreprocessor::Store function
40 : Bool_t Store(const char* pathLevel2, const char* pathLevel3, TObject* object,
41 : AliCDBMetaData* metaData,
42 : Int_t validityStart = 0, Bool_t validityInfinite = kFALSE)
43 : {
44 0 : return AliPreprocessor::Store(pathLevel2,pathLevel3,object,metaData,
45 0 : validityStart,validityInfinite);
46 : }
47 :
48 : /// Publish AliPreprocessor::GetRunParameter
49 : const char* GetRunParameter(const char* param)
50 : {
51 0 : return AliPreprocessor::GetRunParameter(param);
52 : }
53 :
54 : /// Publish AliPreprocessor::GetFile function
55 : const char* GetFile(Int_t system, const char* id, const char* source)
56 : {
57 0 : return AliPreprocessor::GetFile(system,id,source);
58 : }
59 :
60 : /// Publish AliPreprocessor::GetFromOCDB function
61 : AliCDBEntry* GetFromOCDB(const char* pathLevel2, const char* pathLevel3) {
62 0 : return AliPreprocessor::GetFromOCDB(pathLevel2,pathLevel3);
63 : }
64 :
65 : /// Publish AliPreprocessor::GetFromOCDB function
66 : AliCDBEntry* GetGeometryFromOCDB()
67 : {
68 0 : return AliPreprocessor::GetGeometryFromOCDB();
69 : }
70 :
71 : /// Whether we can be used (e.g. whether we were properly initialized)
72 0 : Bool_t IsValid() const { return fIsValid; }
73 :
74 : /// Mark as invalid
75 0 : void Invalidate() { fIsValid = kFALSE; }
76 :
77 : /// Whether we should do something or not
78 0 : Bool_t IsApplicable() { return fIsApplicable; }
79 :
80 : /// Return log book parameter
81 : TString GetLogBookParam(const char* parname)
82 0 : { return TString(AliPreprocessor::GetRunParameter(parname)); }
83 :
84 : protected:
85 : AliMUONPreprocessor(const char* detName, AliShuttleInterface* shuttle);
86 : virtual ~AliMUONPreprocessor();
87 :
88 : void Add(AliMUONVSubprocessor* subProcessor, Bool_t processDCS=kFALSE);
89 : void ClearSubprocessors();
90 :
91 : Bool_t fIsValid; //!<! whether we were correctly initialized
92 : Bool_t fIsApplicable; //!<! whether we have something to do
93 :
94 : private:
95 : /// Not implemented
96 : AliMUONPreprocessor(const AliMUONPreprocessor& rhs);
97 : /// Not implemented
98 : AliMUONPreprocessor& operator=(const AliMUONPreprocessor& rhs);
99 :
100 : AliMUONVSubprocessor* Subprocessor(Int_t i) const;
101 :
102 : private:
103 :
104 : TObjArray* fSubprocessors; //!<! sub processors to execute
105 : Bool_t fProcessDCS; //!<! whether the current subprocessor(s) needs DCS or not
106 :
107 12 : ClassDef(AliMUONPreprocessor,4) // MUON Shuttle preprocessor
108 : };
109 :
110 : #endif
|