]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - MUON/AliMUONPreprocessor.h
- AliHLTComponent: bugfix in buffer handling; overwrite check added to
[u/mrichter/AliRoot.git] / MUON / AliMUONPreprocessor.h
... / ...
CommitLineData
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
19class AliMUONVSubprocessor;
20class TObjArray;
21
22class AliMUONPreprocessor : public AliPreprocessor
23{
24public:
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 virtual Bool_t ProcessDCS() { return fProcessDCS; }
30
31 /// Publish AliPreprocessor::Log function
32 void Log(const char* message) { AliPreprocessor::Log(message); }
33
34 /// Publish AliPreprocessor::GetFileSources function
35 TList* GetFileSources(Int_t system, const char* id)
36 { return AliPreprocessor::GetFileSources(system,id); }
37
38 /// Publish AliPreprocessor::Store function
39 Bool_t Store(const char* pathLevel2, const char* pathLevel3, TObject* object,
40 AliCDBMetaData* metaData,
41 Int_t validityStart = 0, Bool_t validityInfinite = kFALSE)
42 {
43 return AliPreprocessor::Store(pathLevel2,pathLevel3,object,metaData,
44 validityStart,validityInfinite);
45 }
46
47 /// Publish AliPreprocessor::GetFile function
48 const char* GetFile(Int_t system, const char* id, const char* source)
49 {
50 return AliPreprocessor::GetFile(system,id,source);
51 }
52
53protected:
54 AliMUONPreprocessor(const char* detName, AliShuttleInterface* shuttle);
55 virtual ~AliMUONPreprocessor();
56
57 void Add(AliMUONVSubprocessor* subProcessor, Bool_t processDCS=kFALSE);
58 void ClearSubprocessors();
59
60private:
61 /// Not implemented
62 AliMUONPreprocessor(const AliMUONPreprocessor& rhs);
63 /// Not implemented
64 AliMUONPreprocessor& operator=(const AliMUONPreprocessor& rhs);
65
66 AliMUONVSubprocessor* Subprocessor(Int_t i) const;
67
68private:
69
70 TObjArray* fSubprocessors; //!< sub processors to execute
71 Bool_t fProcessDCS; //!< whether the current subprocessor(s) needs DCS or not
72
73 ClassDef(AliMUONPreprocessor,2) // MUON Shuttle preprocessor
74};
75
76#endif