Reading muon trigger scalers with the DA of the muon trigger and transfer
[u/mrichter/AliRoot.git] / MUON / MUONshuttle / AliMUONTriggerSubprocessor.h
1 #ifndef ALIMUONTRIGGERSUBPROCESSOR_H
2 #define ALIMUONTRIGGERSUBPROCESSOR_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 AliMUONTriggerSubprocessor
11 /// \brief Implementation of AliMUONVSubprocessor for MUON TRK masks
12 /// 
13 //  Author Laurent Aphecetche, Subatech
14
15 #ifndef ALIMUONVSUBPROCESSOR_H
16 #  include "AliMUONVSubprocessor.h"
17 #endif
18
19 class AliMUONTriggerLut;
20 class AliMUONRegionalTriggerConfig;
21 class AliMUONGlobalCrateConfig;
22 class AliMUONVCalibParam;
23 class AliMUONVStore;
24 class TString;
25 class TClonesArray;
26
27 class AliMUONTriggerSubprocessor : public AliMUONVSubprocessor
28 {
29 public:
30   AliMUONTriggerSubprocessor(AliMUONPreprocessor* master);
31   virtual ~AliMUONTriggerSubprocessor();
32   
33   Bool_t Initialize(Int_t run, UInt_t startTime, UInt_t endTime);
34   UInt_t Process(TMap* dcsAliasMap);
35   
36 private:
37
38   TString GetFileName(const char* fid) const;
39   
40   /// Not implemented
41   AliMUONTriggerSubprocessor(const AliMUONTriggerSubprocessor&);
42   /// Not implemented
43   AliMUONTriggerSubprocessor& operator=(const AliMUONTriggerSubprocessor&);
44   
45   Int_t TestFile(const char* baseName, Bool_t shouldBeThere) const;
46
47   void WhichFilesToRead(const char* exportedFiles,
48                         Bool_t& globalFile,
49                         Bool_t& regionalFile,
50                         Bool_t& localFile,
51                         Bool_t& lutFile,
52                         Bool_t& trigScalFile) const;
53   
54 private:
55   AliMUONRegionalTriggerConfig* fRegionalConfig; //!< regional config
56   AliMUONVStore* fLocalMasks; //!< local masks
57   AliMUONGlobalCrateConfig*     fGlobalConfig;   //!< global config
58   AliMUONTriggerLut* fLUT; //!< look-up table(s)
59   TClonesArray* fTrigScalers; //!< trigger scalers
60   
61   ClassDef(AliMUONTriggerSubprocessor,3) // A shuttle preprocessor for MUON TRK masks
62 };
63
64 #endif