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

//////////////////////////////////////////////////////////
// Class used to setup the mapping of hardware adresses //
// in ALTRO to pad-rows and pad indeces.                //
// The mapping is defined in an external mapping files  //
// separately for TPC,PHOS and FMD.                     //
//////////////////////////////////////////////////////////

#include <TObject.h>
using std::ifstream;

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

  virtual Int_t GetHWAddress(Int_t padrow, Int_t pad, Int_t sector) = 0;
  virtual Int_t GetPadRow(Int_t hwAddress) const = 0;
  virtual Int_t GetPad(Int_t hwAddress) const = 0;
  virtual Int_t GetSector(Int_t hwAddress) const = 0;

 protected:
  void           CloseMappingFile();
  virtual Bool_t ReadMapping() = 0;
  virtual Bool_t CreateInvMapping() = 0;

  ifstream *fIn;               //! External mapping file
  Int_t     fNumberOfChannels; // Number of ALTRO channels
  Int_t     fMaxHWAddress;     // Maximum HW adress
  Int_t     fMappingSize;      // Size of the mapping array, used by the streamer of derived classes
  Short_t  *fMapping;          //[fMappingSize] Array which connects hardware adresses to detector element indices

 private:
  Bool_t    OpenMappingFile(const char *mappingFile);

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

  ClassDef(AliAltroMapping,4)  // Altro mapping handler class
};

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