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

/// \ingroup core
/// \class AliMUONTriggerUtilities
/// \brief Utilities for trigger (check if pad is masked)
///
//  Author Diego Stocco

#ifndef ALIMUONTRIGGERUTILITIES_H
#define ALIMUONTRIGGERUTILITIES_H

#include "TObject.h"
#include "TArrayI.h"

class AliMUONCalibrationData;
class AliMUONVDigit;
class AliMpPad;
class AliMUONVDigitStore;

class AliMUONTriggerUtilities : public TObject
{
public:
  AliMUONTriggerUtilities(AliMUONCalibrationData* calibData);
  ~AliMUONTriggerUtilities();
  
  Bool_t IsMasked(const AliMUONVDigit& digit) const;
  Bool_t IsMasked(const AliMpPad& pad, Int_t detElemId, Int_t cathode) const;
  Bool_t IsMasked(Int_t detElemId, Int_t cathode, Int_t localCircuit, Int_t strip) const;
  Bool_t IsMaskedBoard ( Int_t localCircuit, Int_t detElemId = 1100, Int_t cathode = 0 ) const;
  AliMUONVDigitStore* GetMaskedDigits() const { return fMaskedDigitsStore; }

private:
  /// Not implemented
  AliMUONTriggerUtilities(const AliMUONTriggerUtilities& other);
  /// Not implemented
  AliMUONTriggerUtilities& operator=(const AliMUONTriggerUtilities& other);
  
  Bool_t Init();
  Int_t GetArrayIndex(Int_t cathode, Int_t trigCh, Int_t localCircuit) const;
  
  AliMUONCalibrationData* fCalibrationData; //!< pointer to access calib parameters
  TArrayI fTriggerStatusMap; //!< Trigger masks
  AliMUONVDigitStore* fMaskedDigitsStore; //!< Masked digits store
  
  ClassDef(AliMUONTriggerUtilities,0) // MUON Trigger utilities
};

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