next50 trigger mask in AliHLTGlobalEsdConverterComponent
[u/mrichter/AliRoot.git] / MUON / AliMUONPreprocessor.h
CommitLineData
ea199e33 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///
78649106 13// Author Laurent Aphecetche
ea199e33 14
15#ifndef ALI_PREPROCESSOR_H
16# include "AliPreprocessor.h"
17#endif
18
19class AliMUONVSubprocessor;
20class TObjArray;
21
22class AliMUONPreprocessor : public AliPreprocessor
23{
6c7a0c0f 24public:
ea199e33 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;
4bc52c93 28
29 /// Return info whether the current subprocessor(s) needs DCS or not
d489129d 30 virtual Bool_t ProcessDCS() { return fProcessDCS; }
31
71a2d3aa 32 /// Publish AliPreprocessor::Log function
57e176c0 33 void Log(const char* message) { AliPreprocessor::Log(message); }
34
71a2d3aa 35 /// Publish AliPreprocessor::GetFileSources function
ea199e33 36 TList* GetFileSources(Int_t system, const char* id)
37 { return AliPreprocessor::GetFileSources(system,id); }
38
71a2d3aa 39 /// Publish AliPreprocessor::Store function
d489129d 40 Bool_t Store(const char* pathLevel2, const char* pathLevel3, TObject* object,
ea199e33 41 AliCDBMetaData* metaData,
42 Int_t validityStart = 0, Bool_t validityInfinite = kFALSE)
43 {
44 return AliPreprocessor::Store(pathLevel2,pathLevel3,object,metaData,
45 validityStart,validityInfinite);
46 }
47
82945276 48 /// Publish AliPreprocessor::GetRunParameter
49 const char* GetRunParameter(const char* param)
50 {
51 return AliPreprocessor::GetRunParameter(param);
52 }
53
71a2d3aa 54 /// Publish AliPreprocessor::GetFile function
ea199e33 55 const char* GetFile(Int_t system, const char* id, const char* source)
56 {
57 return AliPreprocessor::GetFile(system,id,source);
58 }
2c1e4958 59
60 /// Publish AliPreprocessor::GetFromOCDB function
61 AliCDBEntry* GetFromOCDB(const char* pathLevel2, const char* pathLevel3) {
62 return AliPreprocessor::GetFromOCDB(pathLevel2,pathLevel3);
63 }
64
0f72fffb 65 /// Publish AliPreprocessor::GetFromOCDB function
66 AliCDBEntry* GetGeometryFromOCDB()
67 {
68 return AliPreprocessor::GetGeometryFromOCDB();
69 }
70
c41ce74d 71 /// Whether we can be used (e.g. whether we were properly initialized)
72 Bool_t IsValid() const { return fIsValid; }
73
ca6cee23 74 /// Mark as invalid
75 void Invalidate() { fIsValid = kFALSE; }
76
581ece00 77 /// Whether we should do something or not
78 Bool_t IsApplicable() { return fIsApplicable; }
79
3e1866ad 80 /// Return log book parameter
6c870207 81 TString GetLogBookParam(const char* parname)
82 { return TString(AliPreprocessor::GetRunParameter(parname)); }
83
eca96915 84protected:
85 AliMUONPreprocessor(const char* detName, AliShuttleInterface* shuttle);
86 virtual ~AliMUONPreprocessor();
87
d489129d 88 void Add(AliMUONVSubprocessor* subProcessor, Bool_t processDCS=kFALSE);
eca96915 89 void ClearSubprocessors();
90
2ab3623b 91 Bool_t fIsValid; //!< whether we were correctly initialized
581ece00 92 Bool_t fIsApplicable; //!< whether we have something to do
93
ea199e33 94private:
71a2d3aa 95 /// Not implemented
ea199e33 96 AliMUONPreprocessor(const AliMUONPreprocessor& rhs);
71a2d3aa 97 /// Not implemented
ea199e33 98 AliMUONPreprocessor& operator=(const AliMUONPreprocessor& rhs);
99
100 AliMUONVSubprocessor* Subprocessor(Int_t i) const;
101
102private:
fee1d02b 103
71a2d3aa 104 TObjArray* fSubprocessors; //!< sub processors to execute
d489129d 105 Bool_t fProcessDCS; //!< whether the current subprocessor(s) needs DCS or not
2ab3623b 106
581ece00 107 ClassDef(AliMUONPreprocessor,4) // MUON Shuttle preprocessor
ea199e33 108};
109
110#endif