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

/* $Id:  $ */

///////////////////////////////////////////////////////////////////
//                                                               //
// Class to store SDD DDL mapping in the OCDB                    //
// Origin: F.Prino, Torino, prino@to.infn.it                     //
//                                                               //
///////////////////////////////////////////////////////////////////

#include<TObject.h>
#include<AliITSgeomTGeo.h>


class AliITSDDLModuleMapSDD : public TObject {

 public:

  AliITSDDLModuleMapSDD();
  AliITSDDLModuleMapSDD(Char_t *ddlmapfile);
  virtual ~AliITSDDLModuleMapSDD(){};

  void SetDefaultMap();
  void SetDec07part1Map();
  void SetDec07part2Map();
  void SetFeb08Map();
  void SetJun08Map();
  void SetJun09Map();
  void SetDDLMapElement(Int_t iDDL, Int_t iChan, Int_t iMod){fDDLModuleMap[iDDL][iChan]=iMod;}
  void SetDDLMap(AliITSDDLModuleMapSDD* ddlmap);
  void ReadDDLModuleMap(Char_t *ddlmapfile);

  Int_t GetModuleNumber(UInt_t iDDL, UInt_t iChan) const {return fDDLModuleMap[iDDL][iChan];}
  void FindInDDLMap(Int_t modIndex, Int_t &iDDL, Int_t &iCarlos) const;
  void FindInDDLMap(Int_t lay, Int_t lad, Int_t det, Int_t &iDDL, Int_t &iCarlos) const {
    FindInDDLMap(AliITSgeomTGeo::GetModuleIndex(lay,lad,det),iDDL,iCarlos);
  }
  static Int_t GetNDDLs(){return kDDLsNumber;}
  static Int_t GetNModPerDDL(){return kModulesPerDDL;}


  void PrintDDLMap() const ;

 protected:
  
  enum {kDDLsNumber = 24};      // number of DDLs in SDD
  enum {kModulesPerDDL = 12};   // number of modules in each DDL 

  Int_t fDDLModuleMap[kDDLsNumber][kModulesPerDDL]; //  mapping DDL/module -> module number

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