Separating run-dependent mapping data from data, which are not
[u/mrichter/AliRoot.git] / MUON / AliMUONPedestalEventGenerator.h
1 #ifndef ALIMUONPEDESTALEVENTGENERATOR_H
2 #define ALIMUONPEDESTALEVENTGENERATOR_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 sim
10 /// \class AliMUONPedestalEventGenerator
11 /// \brief Generate pedestal events (only for tracker).
12 /// 
13 //  Author Laurent Aphecetche
14
15 #ifndef ROOT_TTask
16 #  include "TTask.h"
17 #endif
18 #ifndef ROOT_TString
19 #  include "TString.h"
20 #endif
21
22 class AliMUONCalibrationData;
23 class TList;
24 class AliRunLoader;
25 class AliMUONVDigitStore;
26 class AliLoader;
27 class AliMUONVStore;
28 class AliMUONRawWriter;
29
30 class AliMUONPedestalEventGenerator : public TTask
31 {
32 public:
33   AliMUONPedestalEventGenerator(Int_t runNumber, Int_t nevents, const char* dateFileName);
34   virtual ~AliMUONPedestalEventGenerator();
35   
36   void Exec(Option_t* option);
37   
38   /// Set option whether to generate DDL ascii files or not
39   void MakeDDL(Bool_t value) { fMakeDDL = value; }
40   
41 private:
42   /// Not implemented
43   AliMUONPedestalEventGenerator(const AliMUONPedestalEventGenerator&);
44   /// Not implemented
45   AliMUONPedestalEventGenerator& operator=(const AliMUONPedestalEventGenerator&);
46
47   Bool_t ConvertRawFilesToDate();
48   AliMUONVDigitStore* DigitStore();
49   void GenerateDigits(AliMUONVDigitStore& digitStore);
50   AliRunLoader* LoadRun(const char* mode);
51   void Digits2Raw(Int_t event);
52   
53 private:
54   AliMUONCalibrationData* fCalibrationData; //!< access to pedestal CDB
55   TString fDateFileName; //!< basefilename of the DATE output file
56   TString fGAliceFileName; //!< absolute path to galice.root file
57   Bool_t fMakeDDL; //!< whether to generate DDL ascii files or not
58   AliLoader* fLoader; //!< to access trees
59   AliMUONVStore* fPedestals; //!< pedestals
60   AliMUONVDigitStore* fDigitStore; //!< digit container
61   AliMUONRawWriter* fRawWriter; //!< to convert digits to raw data
62   static Int_t fgCounter; //!< counter 
63   
64   ClassDef(AliMUONPedestalEventGenerator,3) // Random generator of pedestal events for MUON TRK
65 };
66
67 #endif