New classes for shuttle (Laurent)
[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 shuttle
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 AliMUONData;
24 class TList;
25 class AliRunLoader;
26
27 class AliMUONPedestalEventGenerator : public TTask
28 {
29 public:
30   AliMUONPedestalEventGenerator(Int_t runNumber, Int_t nevents, const char* dateFileName);
31   virtual ~AliMUONPedestalEventGenerator();
32   
33   void Exec(Option_t* option);
34   
35   void MakeDDL(Bool_t value) { fMakeDDL = value; }
36   
37 private:
38   AliMUONPedestalEventGenerator(const AliMUONPedestalEventGenerator&);
39   AliMUONPedestalEventGenerator& operator=(const AliMUONPedestalEventGenerator&);
40   Bool_t ConvertRawFilesToDate();
41   void GenerateDigits(AliMUONData* data);
42   AliMUONData* GetDataAccess(const char* mode);
43   AliRunLoader* LoadRun(const char* mode);
44   void Digits2Raw();
45   
46 private:
47   TList* fManuList; //! list of (de,manu) pairs
48   AliMUONCalibrationData* fCalibrationData; //! access to pedestal CDB
49   TString fDateFileName; //! basefilename of the DATE output file
50   TString fGAliceFileName; //! absolute path to galice.root file
51   Bool_t fMakeDDL; //! whether to generate DDL ascii files or not
52   static Int_t fgCounter; //! 
53   
54   ClassDef(AliMUONPedestalEventGenerator,1) // Random generator of pedestal events for MUON TRK
55 };
56
57 #endif