ROOT logo
/***************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/
//
// Author : 
//
#include "TNamed.h"
#include "AliCDBEntry.h"
#include "AliPMDMappingData.h"


ClassImp(AliPMDMappingData)

AliPMDMappingData::AliPMDMappingData()
{
  // Default constructor
  Reset();
}
// ----------------------------------------------------------------- //
AliPMDMappingData::AliPMDMappingData(const char* name)
{
  //constructor
  TString namst = "Calib_";
  namst += name;
  SetName(namst.Data());
  SetTitle(namst.Data());
  Reset();
  
}
// ----------------------------------------------------------------- //
AliPMDMappingData::AliPMDMappingData(const AliPMDMappingData& mapda) :
  TNamed(mapda)
{
  // copy constructor
  SetName(mapda.GetName());
  SetTitle(mapda.GetName());
  Reset();
  for(Int_t iddl = 0; iddl < kDdl; iddl++)
    {
      for(Int_t imod = 0; imod < 48; imod++)
	{
	  fBeginPatchBus[iddl][imod] = mapda.GetBeginPatchBus(iddl,imod);
	  fEndPatchBus[iddl][imod]   = mapda.GetEndPatchBus(iddl,imod);
	}
      for(Int_t ibus = 0; ibus < kBus; ibus++)
	{
	  fModuleNo[iddl][ibus]    = mapda.GetModuleNo(iddl,ibus);
	  fMcmperBus[iddl][ibus]   = mapda.GetMcmperBus(iddl,ibus);
	  fStartRowBus[iddl][ibus] = mapda.GetStartRowBus(iddl,ibus);
	  fEndRowBus[iddl][ibus]   = mapda.GetEndRowBus(iddl,ibus);
	  fStartColBus[iddl][ibus] = mapda.GetStartColBus(iddl,ibus);
	  fEndColBus[iddl][ibus]   = mapda.GetEndColBus(iddl,ibus);
	}
    }

}
// ----------------------------------------------------------------- //
AliPMDMappingData &AliPMDMappingData::operator =(const AliPMDMappingData& mapda)
{
  //asignment operator
  SetName(mapda.GetName());
  SetTitle(mapda.GetName());
  Reset();

  for(Int_t iddl = 0; iddl < kDdl; iddl++)
    {
      for(Int_t imod = 0; imod < 48; imod++)
	{
	  fBeginPatchBus[iddl][imod] = mapda.GetBeginPatchBus(iddl,imod);
	  fEndPatchBus[iddl][imod]   = mapda.GetEndPatchBus(iddl,imod);
	}
      for(Int_t ibus = 0; ibus < kBus; ibus++)
	{
	  fModuleNo[iddl][ibus]    = mapda.GetModuleNo(iddl,ibus);
	  fMcmperBus[iddl][ibus]   = mapda.GetMcmperBus(iddl,ibus);
	  fStartRowBus[iddl][ibus] = mapda.GetStartRowBus(iddl,ibus);
	  fEndRowBus[iddl][ibus]   = mapda.GetEndRowBus(iddl,ibus);
	  fStartColBus[iddl][ibus] = mapda.GetStartColBus(iddl,ibus);
	  fEndColBus[iddl][ibus]   = mapda.GetEndColBus(iddl,ibus);
	}
    }

  return *this;
}
// ----------------------------------------------------------------- //
AliPMDMappingData::~AliPMDMappingData()
{
  //destructor
}
// ----------------------------------------------------------------- //
void AliPMDMappingData::Reset()
{
  for(Int_t i = 0; i < 6; i++)
    {
      for(Int_t j = 0; j < 48; j++)
	{
	  fBeginPatchBus[i][j] = -1;
	  fEndPatchBus[i][j] = -1;
	}
    }

  for(Int_t iddl = 0; iddl < kDdl; iddl++)
    {
      for(Int_t ibus = 0; ibus < kBus; ibus++)
	{
	  fModuleNo[iddl][ibus]    = -1;
	  fMcmperBus[iddl][ibus]   = -1;
	  fStartRowBus[iddl][ibus] = -1;
	  fEndRowBus[iddl][ibus]   = -1;
	  fStartColBus[iddl][ibus] = -1;
	  fEndColBus[iddl][ibus]   = -1;
	}
    }

}
// ----------------------------------------------------------------- //
Int_t AliPMDMappingData:: GetBeginPatchBus(Int_t iddl, Int_t imod) const
{
  return fBeginPatchBus[iddl][imod];
}
// ----------------------------------------------------------------- //
Int_t AliPMDMappingData:: GetEndPatchBus(Int_t iddl, Int_t imod) const
{
  return fEndPatchBus[iddl][imod];
}
// ----------------------------------------------------------------- //
Int_t AliPMDMappingData:: GetModuleNo(Int_t iddl, Int_t ibus) const
{
  return fModuleNo[iddl][ibus];
}
// ----------------------------------------------------------------- //
Int_t AliPMDMappingData:: GetMcmperBus(Int_t iddl, Int_t ibus) const
{
  return fMcmperBus[iddl][ibus];
}
// ----------------------------------------------------------------- //
Int_t AliPMDMappingData:: GetStartRowBus(Int_t iddl, Int_t ibus) const
{
  return fStartRowBus[iddl][ibus];
}
// ----------------------------------------------------------------- //
Int_t AliPMDMappingData:: GetEndRowBus(Int_t iddl, Int_t ibus) const
{
  return fEndRowBus[iddl][ibus];
}
// ----------------------------------------------------------------- //
Int_t AliPMDMappingData:: GetStartColBus(Int_t iddl, Int_t ibus) const
{
  return fStartColBus[iddl][ibus];
}
// ----------------------------------------------------------------- //
Int_t AliPMDMappingData:: GetEndColBus(Int_t iddl, Int_t ibus) const
{
  return fEndColBus[iddl][ibus];
}
// ----------------------------------------------------------------- //
void AliPMDMappingData::SetPatchBus(Int_t iddl, Int_t imod,
				    Int_t bpatchbus, Int_t epatchbus)
{
  fBeginPatchBus[iddl][imod] = bpatchbus;
  fEndPatchBus[iddl][imod]   = epatchbus;
}
// ----------------------------------------------------------------- //
void AliPMDMappingData::SetModuleNo(Int_t iddl, Int_t ibus, Int_t modno)
{
  fModuleNo[iddl][ibus] = modno;
}
// ----------------------------------------------------------------- //
void AliPMDMappingData::SetMcmperBus(Int_t iddl, Int_t ibus, Int_t totmcm)
{
  fMcmperBus[iddl][ibus] = totmcm;
}

// ----------------------------------------------------------------- //
void AliPMDMappingData::SetRowBus(Int_t iddl,Int_t ibus,Int_t rows,Int_t rowe)
{
  fStartRowBus[iddl][ibus] = rows;
  fEndRowBus[iddl][ibus]   = rowe;
}

// ----------------------------------------------------------------- //
void AliPMDMappingData::SetColBus(Int_t iddl,Int_t ibus,Int_t cols,Int_t cole)
{
  fStartColBus[iddl][ibus] = cols;
  fEndColBus[iddl][ibus]   = cole;
}
// ----------------------------------------------------------------- //

void AliPMDMappingData::Print(Option_t *) const
{
  printf("\n ######Mapping File for each ddl and patchbus ####\n");


  for(Int_t iddl = 0; iddl < kDdl; iddl++)
    {
      for(Int_t imod = 0; imod < 48; imod++)
	{
	  printf("%d %d %d %d \n",iddl, imod, fBeginPatchBus[iddl][imod],
		 fEndPatchBus[iddl][imod]);
	}
      for(Int_t ibus = 0; ibus < kBus; ibus++)
	{
	  printf("%d %d %d %d %d %d %d %d\n",iddl, ibus,
		 fModuleNo[iddl][ibus], fMcmperBus[iddl][ibus],
		 fStartRowBus[iddl][ibus], fEndRowBus[iddl][ibus],
		 fStartColBus[iddl][ibus], fEndColBus[iddl][ibus]);
	}
      printf("\n");
    }

}
 AliPMDMappingData.cxx:1
 AliPMDMappingData.cxx:2
 AliPMDMappingData.cxx:3
 AliPMDMappingData.cxx:4
 AliPMDMappingData.cxx:5
 AliPMDMappingData.cxx:6
 AliPMDMappingData.cxx:7
 AliPMDMappingData.cxx:8
 AliPMDMappingData.cxx:9
 AliPMDMappingData.cxx:10
 AliPMDMappingData.cxx:11
 AliPMDMappingData.cxx:12
 AliPMDMappingData.cxx:13
 AliPMDMappingData.cxx:14
 AliPMDMappingData.cxx:15
 AliPMDMappingData.cxx:16
 AliPMDMappingData.cxx:17
 AliPMDMappingData.cxx:18
 AliPMDMappingData.cxx:19
 AliPMDMappingData.cxx:20
 AliPMDMappingData.cxx:21
 AliPMDMappingData.cxx:22
 AliPMDMappingData.cxx:23
 AliPMDMappingData.cxx:24
 AliPMDMappingData.cxx:25
 AliPMDMappingData.cxx:26
 AliPMDMappingData.cxx:27
 AliPMDMappingData.cxx:28
 AliPMDMappingData.cxx:29
 AliPMDMappingData.cxx:30
 AliPMDMappingData.cxx:31
 AliPMDMappingData.cxx:32
 AliPMDMappingData.cxx:33
 AliPMDMappingData.cxx:34
 AliPMDMappingData.cxx:35
 AliPMDMappingData.cxx:36
 AliPMDMappingData.cxx:37
 AliPMDMappingData.cxx:38
 AliPMDMappingData.cxx:39
 AliPMDMappingData.cxx:40
 AliPMDMappingData.cxx:41
 AliPMDMappingData.cxx:42
 AliPMDMappingData.cxx:43
 AliPMDMappingData.cxx:44
 AliPMDMappingData.cxx:45
 AliPMDMappingData.cxx:46
 AliPMDMappingData.cxx:47
 AliPMDMappingData.cxx:48
 AliPMDMappingData.cxx:49
 AliPMDMappingData.cxx:50
 AliPMDMappingData.cxx:51
 AliPMDMappingData.cxx:52
 AliPMDMappingData.cxx:53
 AliPMDMappingData.cxx:54
 AliPMDMappingData.cxx:55
 AliPMDMappingData.cxx:56
 AliPMDMappingData.cxx:57
 AliPMDMappingData.cxx:58
 AliPMDMappingData.cxx:59
 AliPMDMappingData.cxx:60
 AliPMDMappingData.cxx:61
 AliPMDMappingData.cxx:62
 AliPMDMappingData.cxx:63
 AliPMDMappingData.cxx:64
 AliPMDMappingData.cxx:65
 AliPMDMappingData.cxx:66
 AliPMDMappingData.cxx:67
 AliPMDMappingData.cxx:68
 AliPMDMappingData.cxx:69
 AliPMDMappingData.cxx:70
 AliPMDMappingData.cxx:71
 AliPMDMappingData.cxx:72
 AliPMDMappingData.cxx:73
 AliPMDMappingData.cxx:74
 AliPMDMappingData.cxx:75
 AliPMDMappingData.cxx:76
 AliPMDMappingData.cxx:77
 AliPMDMappingData.cxx:78
 AliPMDMappingData.cxx:79
 AliPMDMappingData.cxx:80
 AliPMDMappingData.cxx:81
 AliPMDMappingData.cxx:82
 AliPMDMappingData.cxx:83
 AliPMDMappingData.cxx:84
 AliPMDMappingData.cxx:85
 AliPMDMappingData.cxx:86
 AliPMDMappingData.cxx:87
 AliPMDMappingData.cxx:88
 AliPMDMappingData.cxx:89
 AliPMDMappingData.cxx:90
 AliPMDMappingData.cxx:91
 AliPMDMappingData.cxx:92
 AliPMDMappingData.cxx:93
 AliPMDMappingData.cxx:94
 AliPMDMappingData.cxx:95
 AliPMDMappingData.cxx:96
 AliPMDMappingData.cxx:97
 AliPMDMappingData.cxx:98
 AliPMDMappingData.cxx:99
 AliPMDMappingData.cxx:100
 AliPMDMappingData.cxx:101
 AliPMDMappingData.cxx:102
 AliPMDMappingData.cxx:103
 AliPMDMappingData.cxx:104
 AliPMDMappingData.cxx:105
 AliPMDMappingData.cxx:106
 AliPMDMappingData.cxx:107
 AliPMDMappingData.cxx:108
 AliPMDMappingData.cxx:109
 AliPMDMappingData.cxx:110
 AliPMDMappingData.cxx:111
 AliPMDMappingData.cxx:112
 AliPMDMappingData.cxx:113
 AliPMDMappingData.cxx:114
 AliPMDMappingData.cxx:115
 AliPMDMappingData.cxx:116
 AliPMDMappingData.cxx:117
 AliPMDMappingData.cxx:118
 AliPMDMappingData.cxx:119
 AliPMDMappingData.cxx:120
 AliPMDMappingData.cxx:121
 AliPMDMappingData.cxx:122
 AliPMDMappingData.cxx:123
 AliPMDMappingData.cxx:124
 AliPMDMappingData.cxx:125
 AliPMDMappingData.cxx:126
 AliPMDMappingData.cxx:127
 AliPMDMappingData.cxx:128
 AliPMDMappingData.cxx:129
 AliPMDMappingData.cxx:130
 AliPMDMappingData.cxx:131
 AliPMDMappingData.cxx:132
 AliPMDMappingData.cxx:133
 AliPMDMappingData.cxx:134
 AliPMDMappingData.cxx:135
 AliPMDMappingData.cxx:136
 AliPMDMappingData.cxx:137
 AliPMDMappingData.cxx:138
 AliPMDMappingData.cxx:139
 AliPMDMappingData.cxx:140
 AliPMDMappingData.cxx:141
 AliPMDMappingData.cxx:142
 AliPMDMappingData.cxx:143
 AliPMDMappingData.cxx:144
 AliPMDMappingData.cxx:145
 AliPMDMappingData.cxx:146
 AliPMDMappingData.cxx:147
 AliPMDMappingData.cxx:148
 AliPMDMappingData.cxx:149
 AliPMDMappingData.cxx:150
 AliPMDMappingData.cxx:151
 AliPMDMappingData.cxx:152
 AliPMDMappingData.cxx:153
 AliPMDMappingData.cxx:154
 AliPMDMappingData.cxx:155
 AliPMDMappingData.cxx:156
 AliPMDMappingData.cxx:157
 AliPMDMappingData.cxx:158
 AliPMDMappingData.cxx:159
 AliPMDMappingData.cxx:160
 AliPMDMappingData.cxx:161
 AliPMDMappingData.cxx:162
 AliPMDMappingData.cxx:163
 AliPMDMappingData.cxx:164
 AliPMDMappingData.cxx:165
 AliPMDMappingData.cxx:166
 AliPMDMappingData.cxx:167
 AliPMDMappingData.cxx:168
 AliPMDMappingData.cxx:169
 AliPMDMappingData.cxx:170
 AliPMDMappingData.cxx:171
 AliPMDMappingData.cxx:172
 AliPMDMappingData.cxx:173
 AliPMDMappingData.cxx:174
 AliPMDMappingData.cxx:175
 AliPMDMappingData.cxx:176
 AliPMDMappingData.cxx:177
 AliPMDMappingData.cxx:178
 AliPMDMappingData.cxx:179
 AliPMDMappingData.cxx:180
 AliPMDMappingData.cxx:181
 AliPMDMappingData.cxx:182
 AliPMDMappingData.cxx:183
 AliPMDMappingData.cxx:184
 AliPMDMappingData.cxx:185
 AliPMDMappingData.cxx:186
 AliPMDMappingData.cxx:187
 AliPMDMappingData.cxx:188
 AliPMDMappingData.cxx:189
 AliPMDMappingData.cxx:190
 AliPMDMappingData.cxx:191
 AliPMDMappingData.cxx:192
 AliPMDMappingData.cxx:193
 AliPMDMappingData.cxx:194
 AliPMDMappingData.cxx:195
 AliPMDMappingData.cxx:196
 AliPMDMappingData.cxx:197
 AliPMDMappingData.cxx:198
 AliPMDMappingData.cxx:199
 AliPMDMappingData.cxx:200
 AliPMDMappingData.cxx:201
 AliPMDMappingData.cxx:202
 AliPMDMappingData.cxx:203
 AliPMDMappingData.cxx:204
 AliPMDMappingData.cxx:205
 AliPMDMappingData.cxx:206
 AliPMDMappingData.cxx:207
 AliPMDMappingData.cxx:208
 AliPMDMappingData.cxx:209
 AliPMDMappingData.cxx:210
 AliPMDMappingData.cxx:211
 AliPMDMappingData.cxx:212
 AliPMDMappingData.cxx:213
 AliPMDMappingData.cxx:214
 AliPMDMappingData.cxx:215
 AliPMDMappingData.cxx:216
 AliPMDMappingData.cxx:217
 AliPMDMappingData.cxx:218
 AliPMDMappingData.cxx:219
 AliPMDMappingData.cxx:220
 AliPMDMappingData.cxx:221
 AliPMDMappingData.cxx:222