ROOT logo
#ifndef ALIESDMUONPAD_H
#define ALIESDMUONPAD_H

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

// $Id$

/// \class AliESDMuonPad
/// \brief Class to describe the MUON pads in the Event Summary Data
//  Author Philippe Pillot, Subatech


#include <TObject.h>

class AliESDMuonPad : public TObject {
public:
  AliESDMuonPad(); // Constructor
  virtual ~AliESDMuonPad() {} ///< Destructor
  AliESDMuonPad(const AliESDMuonPad& pad);
  AliESDMuonPad& operator=(const AliESDMuonPad& pad);
  virtual void Copy(TObject &obj) const;
  
  /// Clear method (used by TClonesArray)
  virtual void Clear(Option_t* = "") {}
  
  /// Set the raw charge
  void     SetADC(Int_t adc) {fADC = adc;}
  /// Return the raw charge
  Int_t    GetADC() const {return fADC;}
  
  /// Set the calibrated charge
  void     SetCharge(Double_t charge) {fCharge = charge;}
  /// Return the calibrated charge
  Double_t GetCharge() const {return fCharge;}
  
  /// Return detection element id, part of the uniqueID
  Int_t    GetDetElemId() const   {return (GetUniqueID() & 0x00000FFF);}
  /// Return electronic card id, part of the uniqueID
  Int_t    GetManuId() const      {return (GetUniqueID() & 0x00FFF000) >> 12;}
  /// Return the channel within ManuId(), part of the uniqueID
  Int_t    GetManuChannel() const {return (GetUniqueID() & 0x3F000000) >> 24;}
  /// Return the cathode number, part of the uniqueID
  Int_t    GetCathode() const     {return (GetUniqueID() & 0x40000000) >> 30;}
  
  /// Set the pad as being calibrated or not
  void     SetCalibrated(Bool_t calibrated = kTRUE) {SetBit(BIT(14),calibrated);}
  /// return kTRUE if the pad is calibrated
  Bool_t   IsCalibrated() const {return TestBit(BIT(14));}
  /// Set the pad as being saturated or not
  void     SetSaturated(Bool_t saturated = kTRUE) {SetBit(BIT(15),saturated);}
  /// return kTRUE if the pad is saturated
  Bool_t   IsSaturated() const {return TestBit(BIT(15));}
  
  void     Print(Option_t */*option*/ = "") const;
  
  
protected:
  Int_t      fADC;    ///< ADC value
  Double32_t fCharge; ///< Calibrated charge
  
  
  ClassDef(AliESDMuonPad, 1) // MUON ESD pad class
};

#endif

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