]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONPreprocessor.h
Pre-allocate right amount of memory when used for de,manu storage (Laurent)
[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   AliMUONPreprocessor(const char* detector, AliShuttleInterface* shuttle);
26   virtual ~AliMUONPreprocessor();
27   
28   virtual void Initialize(Int_t run, UInt_t startTime, UInt_t endTime);
29   virtual UInt_t Process(TMap* dcsAliasMap);
30   virtual void Print(Option_t* opt="") const;
31   
32   TList* GetFileSources(Int_t system, const char* id) 
33   { return AliPreprocessor::GetFileSources(system,id); }
34
35   UInt_t Store(const char* pathLevel2, const char* pathLevel3, TObject* object,
36                AliCDBMetaData* metaData, 
37                Int_t validityStart = 0, Bool_t validityInfinite = kFALSE)
38   {
39     return AliPreprocessor::Store(pathLevel2,pathLevel3,object,metaData,
40                                   validityStart,validityInfinite);
41   }
42   
43   const char* GetFile(Int_t system, const char* id, const char* source)
44   {
45     return AliPreprocessor::GetFile(system,id,source);
46   }  
47   
48 private:
49   enum ESubprocessors { kPedestal=0, kLast };
50   
51   AliMUONPreprocessor(const AliMUONPreprocessor& rhs);
52   AliMUONPreprocessor& operator=(const AliMUONPreprocessor& rhs);
53   
54   AliMUONVSubprocessor* Subprocessor(Int_t i) const;
55   
56 private:
57   TObjArray* fSubprocessors; ///!< sub processors to execute
58   
59   ClassDef(AliMUONPreprocessor,1) // MUON Shuttle preprocessor
60 };
61
62 #endif