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 : Z. Ahmed
//
#include "TNamed.h"
#include "AliCDBEntry.h"
#include "AliPMD.h"
#include "AliPMDCalibData.h"


ClassImp(AliPMDCalibData)

AliPMDCalibData::AliPMDCalibData()
{
  // Default constructor
  Reset();
}
// ----------------------------------------------------------------- //
AliPMDCalibData::AliPMDCalibData(const char* name)
{
  //constructor
  TString namst = "Calib_";
  namst += name;
  SetName(namst.Data());
  SetTitle(namst.Data());
  Reset();
  
}
// ----------------------------------------------------------------- //
AliPMDCalibData::AliPMDCalibData(const AliPMDCalibData& calibda) :
  TNamed(calibda)
{
  // copy constructor
  SetName(calibda.GetName());
  SetTitle(calibda.GetName());
  Reset();
  for(Int_t det = 0; det < kDet; det++)
  {
      for(Int_t smn = 0; smn < kModule; smn++)
      {
	  for(Int_t row = 0; row < kRow; row++)
	  {
	      for(Int_t col = 0; col < kCol; col++)
	      {
		  fGainFact[det][smn][row][col] = 
		      calibda.GetGainFact(det,smn,row,col);
	      }
	  }
      }
  }
}
// ----------------------------------------------------------------- //
AliPMDCalibData &AliPMDCalibData::operator =(const AliPMDCalibData& calibda)
{
  //asignment operator
  SetName(calibda.GetName());
  SetTitle(calibda.GetName());
  Reset();
  for(Int_t det = 0; det < kDet; det++)
  {
      for(Int_t smn = 0; smn < kModule; smn++)
      {
	  for(Int_t row = 0; row < kRow; row++)
	  {
	      for(Int_t col = 0; col < kCol; col++)
	      {
		  fGainFact[det][smn][row][col] = 
		      calibda.GetGainFact(det,smn,row,col);
	      }
	  }
      }
  }
  return *this;
}
// ----------------------------------------------------------------- //
AliPMDCalibData::~AliPMDCalibData()
{
  //destructor
}
// ----------------------------------------------------------------- //
void AliPMDCalibData::Reset()
{
  //memset(fgainfact ,1,2*24*48*96*sizeof(Float_t));

  for(Int_t det = 0; det < kDet; det++)
  {
      for(Int_t smn = 0; smn < kModule; smn++)
      {
	  for(Int_t row = 0; row < kRow; row++)
	  {
	      for(Int_t col = 0; col < kCol; col++)
	      {
		  fGainFact[det][smn][row][col] = 1.0;
	      }
	  }
      }
  }
}
// ----------------------------------------------------------------- //
Float_t AliPMDCalibData:: GetGainFact(Int_t det, Int_t smn, Int_t row, Int_t col) const
{
  return fGainFact[det][smn][row][col];
}
// ----------------------------------------------------------------- //
void AliPMDCalibData::SetGainFact(Int_t det, Int_t smn, Int_t row, Int_t col, Float_t gain)
{
  fGainFact[det][smn][row][col]= gain;
}

// ----------------------------------------------------------------- //
void AliPMDCalibData::Print(Option_t *) const
{
  printf("\n ######gain factors for each cells are ####\n");
  for(Int_t det = 0; det < kDet; det++)
    {
      for(Int_t smn = 0; smn < kModule; smn++)
	{
	  for(Int_t row = 0; row < kRow; row++)
	    {
	      for(Int_t col = 0; col < kCol; col++)
		{
		  printf("Gain[%d,%d,%d,%d]= %4.1f \n",det,smn,row,col,
			 fGainFact[det][smn][row][col]);
		}
	      printf("\n");
	    }
	}
    }
}
 AliPMDCalibData.cxx:1
 AliPMDCalibData.cxx:2
 AliPMDCalibData.cxx:3
 AliPMDCalibData.cxx:4
 AliPMDCalibData.cxx:5
 AliPMDCalibData.cxx:6
 AliPMDCalibData.cxx:7
 AliPMDCalibData.cxx:8
 AliPMDCalibData.cxx:9
 AliPMDCalibData.cxx:10
 AliPMDCalibData.cxx:11
 AliPMDCalibData.cxx:12
 AliPMDCalibData.cxx:13
 AliPMDCalibData.cxx:14
 AliPMDCalibData.cxx:15
 AliPMDCalibData.cxx:16
 AliPMDCalibData.cxx:17
 AliPMDCalibData.cxx:18
 AliPMDCalibData.cxx:19
 AliPMDCalibData.cxx:20
 AliPMDCalibData.cxx:21
 AliPMDCalibData.cxx:22
 AliPMDCalibData.cxx:23
 AliPMDCalibData.cxx:24
 AliPMDCalibData.cxx:25
 AliPMDCalibData.cxx:26
 AliPMDCalibData.cxx:27
 AliPMDCalibData.cxx:28
 AliPMDCalibData.cxx:29
 AliPMDCalibData.cxx:30
 AliPMDCalibData.cxx:31
 AliPMDCalibData.cxx:32
 AliPMDCalibData.cxx:33
 AliPMDCalibData.cxx:34
 AliPMDCalibData.cxx:35
 AliPMDCalibData.cxx:36
 AliPMDCalibData.cxx:37
 AliPMDCalibData.cxx:38
 AliPMDCalibData.cxx:39
 AliPMDCalibData.cxx:40
 AliPMDCalibData.cxx:41
 AliPMDCalibData.cxx:42
 AliPMDCalibData.cxx:43
 AliPMDCalibData.cxx:44
 AliPMDCalibData.cxx:45
 AliPMDCalibData.cxx:46
 AliPMDCalibData.cxx:47
 AliPMDCalibData.cxx:48
 AliPMDCalibData.cxx:49
 AliPMDCalibData.cxx:50
 AliPMDCalibData.cxx:51
 AliPMDCalibData.cxx:52
 AliPMDCalibData.cxx:53
 AliPMDCalibData.cxx:54
 AliPMDCalibData.cxx:55
 AliPMDCalibData.cxx:56
 AliPMDCalibData.cxx:57
 AliPMDCalibData.cxx:58
 AliPMDCalibData.cxx:59
 AliPMDCalibData.cxx:60
 AliPMDCalibData.cxx:61
 AliPMDCalibData.cxx:62
 AliPMDCalibData.cxx:63
 AliPMDCalibData.cxx:64
 AliPMDCalibData.cxx:65
 AliPMDCalibData.cxx:66
 AliPMDCalibData.cxx:67
 AliPMDCalibData.cxx:68
 AliPMDCalibData.cxx:69
 AliPMDCalibData.cxx:70
 AliPMDCalibData.cxx:71
 AliPMDCalibData.cxx:72
 AliPMDCalibData.cxx:73
 AliPMDCalibData.cxx:74
 AliPMDCalibData.cxx:75
 AliPMDCalibData.cxx:76
 AliPMDCalibData.cxx:77
 AliPMDCalibData.cxx:78
 AliPMDCalibData.cxx:79
 AliPMDCalibData.cxx:80
 AliPMDCalibData.cxx:81
 AliPMDCalibData.cxx:82
 AliPMDCalibData.cxx:83
 AliPMDCalibData.cxx:84
 AliPMDCalibData.cxx:85
 AliPMDCalibData.cxx:86
 AliPMDCalibData.cxx:87
 AliPMDCalibData.cxx:88
 AliPMDCalibData.cxx:89
 AliPMDCalibData.cxx:90
 AliPMDCalibData.cxx:91
 AliPMDCalibData.cxx:92
 AliPMDCalibData.cxx:93
 AliPMDCalibData.cxx:94
 AliPMDCalibData.cxx:95
 AliPMDCalibData.cxx:96
 AliPMDCalibData.cxx:97
 AliPMDCalibData.cxx:98
 AliPMDCalibData.cxx:99
 AliPMDCalibData.cxx:100
 AliPMDCalibData.cxx:101
 AliPMDCalibData.cxx:102
 AliPMDCalibData.cxx:103
 AliPMDCalibData.cxx:104
 AliPMDCalibData.cxx:105
 AliPMDCalibData.cxx:106
 AliPMDCalibData.cxx:107
 AliPMDCalibData.cxx:108
 AliPMDCalibData.cxx:109
 AliPMDCalibData.cxx:110
 AliPMDCalibData.cxx:111
 AliPMDCalibData.cxx:112
 AliPMDCalibData.cxx:113
 AliPMDCalibData.cxx:114
 AliPMDCalibData.cxx:115
 AliPMDCalibData.cxx:116
 AliPMDCalibData.cxx:117
 AliPMDCalibData.cxx:118
 AliPMDCalibData.cxx:119
 AliPMDCalibData.cxx:120
 AliPMDCalibData.cxx:121
 AliPMDCalibData.cxx:122
 AliPMDCalibData.cxx:123
 AliPMDCalibData.cxx:124
 AliPMDCalibData.cxx:125
 AliPMDCalibData.cxx:126
 AliPMDCalibData.cxx:127
 AliPMDCalibData.cxx:128
 AliPMDCalibData.cxx:129
 AliPMDCalibData.cxx:130
 AliPMDCalibData.cxx:131
 AliPMDCalibData.cxx:132
 AliPMDCalibData.cxx:133
 AliPMDCalibData.cxx:134
 AliPMDCalibData.cxx:135
 AliPMDCalibData.cxx:136
 AliPMDCalibData.cxx:137
 AliPMDCalibData.cxx:138
 AliPMDCalibData.cxx:139
 AliPMDCalibData.cxx:140
 AliPMDCalibData.cxx:141
 AliPMDCalibData.cxx:142