Compatibility with ROOT trunk
[u/mrichter/AliRoot.git] / RAW / AliAltroMapping.h
CommitLineData
5802cf2d 1#ifndef AliALTROMAPPING_H
2#define AliALTROMAPPING_H
3/* Copyright(c) 1998-2003, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6//////////////////////////////////////////////////////////
7// Class used to setup the mapping of hardware adresses //
8// in ALTRO to pad-rows and pad indeces. //
9// The mapping is defined in an external mapping files //
10// separately for TPC,PHOS and FMD. //
11//////////////////////////////////////////////////////////
12
13#include <TObject.h>
14
15class AliAltroMapping: public TObject {
16 public:
cc934096 17 AliAltroMapping();
5802cf2d 18 AliAltroMapping(const char *mappingFile);
19 virtual ~AliAltroMapping();
20
573322da 21 virtual Int_t GetHWAddress(Int_t padrow, Int_t pad, Int_t sector) = 0;
cc934096 22 virtual Int_t GetPadRow(Int_t hwAddress) const = 0;
23 virtual Int_t GetPad(Int_t hwAddress) const = 0;
24 virtual Int_t GetSector(Int_t hwAddress) const = 0;
16e29964 25
26 protected:
573322da 27 void CloseMappingFile();
16e29964 28 virtual Bool_t ReadMapping() = 0;
573322da 29 virtual Bool_t CreateInvMapping() = 0;
16e29964 30
8b9301f8 31 ifstream *fIn; //! External mapping file
5802cf2d 32 Int_t fNumberOfChannels; // Number of ALTRO channels
cc934096 33 Int_t fMaxHWAddress; // Maximum HW adress
573322da 34 Int_t fMappingSize; // Size of the mapping array, used by the streamer of derived classes
35 Short_t *fMapping; //[fMappingSize] Array which connects hardware adresses to detector element indices
44174d11 36
37 private:
573322da 38 Bool_t OpenMappingFile(const char *mappingFile);
39
44174d11 40 AliAltroMapping(const AliAltroMapping& mapping);
41 AliAltroMapping& operator = (const AliAltroMapping& mapping);
5802cf2d 42
573322da 43 ClassDef(AliAltroMapping,4) // Altro mapping handler class
5802cf2d 44};
45
46#endif