ROOT logo
#ifndef ALIMUONTRIGGERSUBPROCESSOR_H
#define ALIMUONTRIGGERSUBPROCESSOR_H

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

// $Id$

/// \ingroup shuttle
/// \class AliMUONTriggerSubprocessor
/// \brief Implementation of AliMUONVSubprocessor for MUON TRK masks
/// 
//  Author Laurent Aphecetche, Subatech

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

class AliMUONTriggerLut;
class AliMUONRegionalTriggerConfig;
class AliMUONGlobalCrateConfig;
class AliMUONVCalibParam;
class AliMUONVStore;
class TString;

class AliMUONTriggerSubprocessor : public AliMUONVSubprocessor
{
public:
  AliMUONTriggerSubprocessor(AliMUONPreprocessor* master);
  virtual ~AliMUONTriggerSubprocessor();
  
  Bool_t Initialize(Int_t run, UInt_t startTime, UInt_t endTime);
  UInt_t Process(TMap* dcsAliasMap);
  
private:

  TString GetFileName(const char* fid) const;
  
  /// Not implemented
  AliMUONTriggerSubprocessor(const AliMUONTriggerSubprocessor&);
  /// Not implemented
  AliMUONTriggerSubprocessor& operator=(const AliMUONTriggerSubprocessor&);
  
  Int_t TestFile(const char* baseName, Bool_t shouldBeThere) const;

  void WhichFilesToRead(const char* exportedFiles,
                        Bool_t& globalFile,
                        Bool_t& regionalFile,
                        Bool_t& localFile,
                        Bool_t& lutFile) const;
  
private:
  AliMUONRegionalTriggerConfig* fRegionalConfig; //!< regional config
  AliMUONVStore* fLocalMasks; //!< local masks
  AliMUONGlobalCrateConfig*     fGlobalConfig;   //!< global config
  AliMUONTriggerLut* fLUT; //!< look-up table(s)
  
  ClassDef(AliMUONTriggerSubprocessor,2) // A shuttle preprocessor for MUON TRK masks
};

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