ROOT logo
#ifndef ALIMUONPEDESTALSUBPROCESSOR_H
#define ALIMUONPEDESTALSUBPROCESSOR_H

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

// $Id$

/// \ingroup shuttle
/// \class AliMUONPedestalSubprocessor
/// \brief Implementation of AliMUONVSubprocessor for MUON TRK pedestals
/// 
//  Author Laurent Aphecetche

#ifndef ALIMUONVSUBPROCESSOR_H
#  include "AliMUONVSubprocessor.h"
#endif

class AliMUONVStore;
class TObjArray;

class AliMUONPedestalSubprocessor : public AliMUONVSubprocessor
{
public:
  AliMUONPedestalSubprocessor(AliMUONPreprocessor* master);
  virtual ~AliMUONPedestalSubprocessor();
  
  Bool_t Initialize(Int_t run, UInt_t startTime, UInt_t endTime);
  UInt_t Process(TMap* dcsAliasMap);
  void Print(Option_t* opt="") const;
  
private:
  /// Not implemented
  AliMUONPedestalSubprocessor(const AliMUONPedestalSubprocessor&);
  /// Not implemented
  AliMUONPedestalSubprocessor& operator=(const AliMUONPedestalSubprocessor&);
  
  Int_t ReadPedestalFile(const char* filename);
  Int_t ReadConfigFile(const char* filename);

  Bool_t HasConfigChanged(const AliMUONVStore& newConfig) const;

private:
  AliMUONVStore* fPedestals; //!< Pedestals for the MUON TRK
  AliMUONVStore* fConfig; //!< Configuration (i.e. list of (buspatch,manu)) for the MUON TRK
  Bool_t fConfigChanged; //!< flag to trigger the saving of the configuration
  Bool_t fTooFewEvents; //!< whether the current run was a failed ped run, basically
  
  ClassDef(AliMUONPedestalSubprocessor,3) // A shuttle preprocessor for MUON TRK pedestals
};

#endif
 AliMUONPedestalSubprocessor.h:1
 AliMUONPedestalSubprocessor.h:2
 AliMUONPedestalSubprocessor.h:3
 AliMUONPedestalSubprocessor.h:4
 AliMUONPedestalSubprocessor.h:5
 AliMUONPedestalSubprocessor.h:6
 AliMUONPedestalSubprocessor.h:7
 AliMUONPedestalSubprocessor.h:8
 AliMUONPedestalSubprocessor.h:9
 AliMUONPedestalSubprocessor.h:10
 AliMUONPedestalSubprocessor.h:11
 AliMUONPedestalSubprocessor.h:12
 AliMUONPedestalSubprocessor.h:13
 AliMUONPedestalSubprocessor.h:14
 AliMUONPedestalSubprocessor.h:15
 AliMUONPedestalSubprocessor.h:16
 AliMUONPedestalSubprocessor.h:17
 AliMUONPedestalSubprocessor.h:18
 AliMUONPedestalSubprocessor.h:19
 AliMUONPedestalSubprocessor.h:20
 AliMUONPedestalSubprocessor.h:21
 AliMUONPedestalSubprocessor.h:22
 AliMUONPedestalSubprocessor.h:23
 AliMUONPedestalSubprocessor.h:24
 AliMUONPedestalSubprocessor.h:25
 AliMUONPedestalSubprocessor.h:26
 AliMUONPedestalSubprocessor.h:27
 AliMUONPedestalSubprocessor.h:28
 AliMUONPedestalSubprocessor.h:29
 AliMUONPedestalSubprocessor.h:30
 AliMUONPedestalSubprocessor.h:31
 AliMUONPedestalSubprocessor.h:32
 AliMUONPedestalSubprocessor.h:33
 AliMUONPedestalSubprocessor.h:34
 AliMUONPedestalSubprocessor.h:35
 AliMUONPedestalSubprocessor.h:36
 AliMUONPedestalSubprocessor.h:37
 AliMUONPedestalSubprocessor.h:38
 AliMUONPedestalSubprocessor.h:39
 AliMUONPedestalSubprocessor.h:40
 AliMUONPedestalSubprocessor.h:41
 AliMUONPedestalSubprocessor.h:42
 AliMUONPedestalSubprocessor.h:43
 AliMUONPedestalSubprocessor.h:44
 AliMUONPedestalSubprocessor.h:45
 AliMUONPedestalSubprocessor.h:46
 AliMUONPedestalSubprocessor.h:47
 AliMUONPedestalSubprocessor.h:48
 AliMUONPedestalSubprocessor.h:49
 AliMUONPedestalSubprocessor.h:50
 AliMUONPedestalSubprocessor.h:51
 AliMUONPedestalSubprocessor.h:52