ROOT logo
#ifndef ALIMUONPEDESTALEVENTGENERATOR_H
#define ALIMUONPEDESTALEVENTGENERATOR_H

/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice                               */

// $Id$

/// \ingroup sim
/// \class AliMUONPedestalEventGenerator
/// \brief Generate pedestal events (only for tracker).
/// 
//  Author Laurent Aphecetche

#ifndef ROOT_TTask
#  include "TTask.h"
#endif
#ifndef ROOT_TString
#  include "TString.h"
#endif

class AliMUONCalibrationData;
class TList;
class AliRunLoader;
class AliMUONVDigitStore;
class AliLoader;
class AliMUONVStore;
class AliMUONRawWriter;

class AliMUONPedestalEventGenerator : public TTask
{
public:
  AliMUONPedestalEventGenerator(Int_t runNumber, Int_t nevents, const char* dateFileName);
  virtual ~AliMUONPedestalEventGenerator();
  
  void Exec(Option_t* option);
  
  /// Set option whether to generate DDL ascii files or not
  void MakeDDL(Bool_t value) { fMakeDDL = value; }
  
private:
  /// Not implemented
  AliMUONPedestalEventGenerator(const AliMUONPedestalEventGenerator&);
  /// Not implemented
  AliMUONPedestalEventGenerator& operator=(const AliMUONPedestalEventGenerator&);

  Bool_t ConvertRawFilesToDate();
  AliMUONVDigitStore* DigitStore();
  void GenerateDigits(AliMUONVDigitStore& digitStore);
  AliRunLoader* LoadRun(const char* mode);
  void Digits2Raw(Int_t event);
  
private:
  AliMUONCalibrationData* fCalibrationData; //!< access to pedestal CDB
  TString fDateFileName; //!< basefilename of the DATE output file
  TString fGAliceFileName; //!< absolute path to galice.root file
  Bool_t fMakeDDL; //!< whether to generate DDL ascii files or not
  AliLoader* fLoader; //!< to access trees
  AliMUONVStore* fPedestals; //!< pedestals
  AliMUONVDigitStore* fDigitStore; //!< digit container
  AliMUONRawWriter* fRawWriter; //!< to convert digits to raw data
  static Int_t fgCounter; //!< counter 
  
  ClassDef(AliMUONPedestalEventGenerator,3) // Random generator of pedestal events for MUON TRK
};

#endif
 AliMUONPedestalEventGenerator.h:1
 AliMUONPedestalEventGenerator.h:2
 AliMUONPedestalEventGenerator.h:3
 AliMUONPedestalEventGenerator.h:4
 AliMUONPedestalEventGenerator.h:5
 AliMUONPedestalEventGenerator.h:6
 AliMUONPedestalEventGenerator.h:7
 AliMUONPedestalEventGenerator.h:8
 AliMUONPedestalEventGenerator.h:9
 AliMUONPedestalEventGenerator.h:10
 AliMUONPedestalEventGenerator.h:11
 AliMUONPedestalEventGenerator.h:12
 AliMUONPedestalEventGenerator.h:13
 AliMUONPedestalEventGenerator.h:14
 AliMUONPedestalEventGenerator.h:15
 AliMUONPedestalEventGenerator.h:16
 AliMUONPedestalEventGenerator.h:17
 AliMUONPedestalEventGenerator.h:18
 AliMUONPedestalEventGenerator.h:19
 AliMUONPedestalEventGenerator.h:20
 AliMUONPedestalEventGenerator.h:21
 AliMUONPedestalEventGenerator.h:22
 AliMUONPedestalEventGenerator.h:23
 AliMUONPedestalEventGenerator.h:24
 AliMUONPedestalEventGenerator.h:25
 AliMUONPedestalEventGenerator.h:26
 AliMUONPedestalEventGenerator.h:27
 AliMUONPedestalEventGenerator.h:28
 AliMUONPedestalEventGenerator.h:29
 AliMUONPedestalEventGenerator.h:30
 AliMUONPedestalEventGenerator.h:31
 AliMUONPedestalEventGenerator.h:32
 AliMUONPedestalEventGenerator.h:33
 AliMUONPedestalEventGenerator.h:34
 AliMUONPedestalEventGenerator.h:35
 AliMUONPedestalEventGenerator.h:36
 AliMUONPedestalEventGenerator.h:37
 AliMUONPedestalEventGenerator.h:38
 AliMUONPedestalEventGenerator.h:39
 AliMUONPedestalEventGenerator.h:40
 AliMUONPedestalEventGenerator.h:41
 AliMUONPedestalEventGenerator.h:42
 AliMUONPedestalEventGenerator.h:43
 AliMUONPedestalEventGenerator.h:44
 AliMUONPedestalEventGenerator.h:45
 AliMUONPedestalEventGenerator.h:46
 AliMUONPedestalEventGenerator.h:47
 AliMUONPedestalEventGenerator.h:48
 AliMUONPedestalEventGenerator.h:49
 AliMUONPedestalEventGenerator.h:50
 AliMUONPedestalEventGenerator.h:51
 AliMUONPedestalEventGenerator.h:52
 AliMUONPedestalEventGenerator.h:53
 AliMUONPedestalEventGenerator.h:54
 AliMUONPedestalEventGenerator.h:55
 AliMUONPedestalEventGenerator.h:56
 AliMUONPedestalEventGenerator.h:57
 AliMUONPedestalEventGenerator.h:58
 AliMUONPedestalEventGenerator.h:59
 AliMUONPedestalEventGenerator.h:60
 AliMUONPedestalEventGenerator.h:61
 AliMUONPedestalEventGenerator.h:62
 AliMUONPedestalEventGenerator.h:63
 AliMUONPedestalEventGenerator.h:64
 AliMUONPedestalEventGenerator.h:65
 AliMUONPedestalEventGenerator.h:66
 AliMUONPedestalEventGenerator.h:67