]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONPreprocessor.h
New data members: distance to bad channels from the center of a reconstructed cluster...
[u/mrichter/AliRoot.git] / MUON / AliMUONPreprocessor.h
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   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   
53 protected:
54   AliMUONPreprocessor(const char* detName, AliShuttleInterface* shuttle);
55   virtual ~AliMUONPreprocessor();
56   
57   void Add(AliMUONVSubprocessor* subProcessor, Bool_t processDCS=kFALSE); 
58   void ClearSubprocessors();
59   
60 private:
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   
68 private:
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