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

/* $Id$ */

//////////////////////////////////////////////////////////
// Class used to setup the mapping of hardware adresses //
// in ALTRO to Calo cells (column and row index +       //
// low/high gain.                                       //
// The mapping is defined in an external mapping files  //
// separately. The class derives from the base altro    //
// mapping class defined in the RAW package.            //
//////////////////////////////////////////////////////////

/// Exported from PHOS to be used also by EMCAL
/// November 2006 Gustavo Conesa Balbastre

#include "AliAltroMapping.h"

class AliCaloAltroMapping: public AliAltroMapping {
 public:
  AliCaloAltroMapping();
  AliCaloAltroMapping(const char *mappingFile);
  virtual ~AliCaloAltroMapping();

  // In case of PHOS/EMCAL the relevant segmentation is row-column-gain
  // or eta-phi-gain
  virtual Int_t GetHWAddress(Int_t row, Int_t column, Int_t gain);
  // Get Row (not pad-row as in the base class)
  virtual Int_t GetPadRow(Int_t hwAddress) const;
  // Get Column (not pad as in the base class)
  virtual Int_t GetPad(Int_t hwAddress) const;
  // Get Gain (0/1) (not sector as in the base class)
  virtual Int_t GetSector(Int_t hwAddress) const;

 protected:
  virtual Bool_t ReadMapping();
  virtual Bool_t CreateInvMapping();

  Int_t     fMinRow;        // Minimum row index
  Int_t     fMaxRow;        // Maximum row index
  Int_t     fMinCol;        // Minimum column index
  Int_t     fMaxCol;        // Maximum column index
  Short_t  *fInvMappingLow; //! Inverse of fMapping (Low gain)
  Short_t  *fInvMappingHigh;//! Inverse of fMapping (High gain)

 private:

  AliCaloAltroMapping(const AliCaloAltroMapping& mapping);
  AliCaloAltroMapping& operator = (const AliCaloAltroMapping& mapping);

  ClassDef(AliCaloAltroMapping,3)  // Altro mapping handler class
};

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