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.                  *
 **************************************************************************/
//
//
#include "TNamed.h"
#include "AliCDBEntry.h"
#include "AliPMD.h"
#include "AliPMDPedestal.h"


ClassImp(AliPMDPedestal)

AliPMDPedestal::AliPMDPedestal()
{
  // Default constructor
  Reset();
}
// ----------------------------------------------------------------- //
AliPMDPedestal::AliPMDPedestal(const char* name)
{
  //constructor
  TString namst = "Pedestal_";
  namst += name;
  SetName(namst.Data());
  SetTitle(namst.Data());
  Reset();
  
}
// ----------------------------------------------------------------- //
AliPMDPedestal::AliPMDPedestal(const AliPMDPedestal &pedestal) :
  TNamed(pedestal)
{
  // copy constructor
  SetName(pedestal.GetName());
  SetTitle(pedestal.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++)
	      {
		  fPedMeanRms[det][smn][row][col] =
		      pedestal.GetPedMeanRms(det,smn,row,col);
	      }
	  }
      }
  }
}
// ----------------------------------------------------------------- //
AliPMDPedestal &AliPMDPedestal::operator =(const AliPMDPedestal &pedestal)
{
  //asignment operator
  SetName(pedestal.GetName());
  SetTitle(pedestal.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++)
	      {
		  fPedMeanRms[det][smn][row][col] = 
		      pedestal.GetPedMeanRms(det,smn,row,col);
	      }
	  }
      }
  }
  return *this;
}
// ----------------------------------------------------------------- //
AliPMDPedestal::~AliPMDPedestal()
{
  //destructor
}
// ----------------------------------------------------------------- //
void AliPMDPedestal::Reset()
{
  //memset(fgainfact ,1,2*24*96*96*sizeof(Float_t));
    Float_t mean = 0.0;
    Float_t rms  = 0.0;
    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++)
		{
		    Int_t mean1 = (Int_t) (mean*10.);
		    Int_t rms1  = (Int_t) (rms*10.);
		    fPedMeanRms[det][smn][row][col] = mean1*100 + rms1;
		}
	    }
	}
    }
}
// ----------------------------------------------------------------- //
Int_t AliPMDPedestal:: GetPedMeanRms(Int_t det, Int_t smn, Int_t row, Int_t col) const
{
  return fPedMeanRms[det][smn][row][col];
}
// ----------------------------------------------------------------- //

void AliPMDPedestal::SetPedMeanRms(Int_t det, Int_t smn, Int_t row,
				   Int_t col,Float_t pedmean, Float_t pedrms)
{
    Int_t mean1 = (Int_t) (pedmean*10.);
    Int_t rms1  = (Int_t) (pedrms*10.); 
    fPedMeanRms[det][smn][row][col] = mean1*100 + rms1;
}
// ----------------------------------------------------------------- //
void AliPMDPedestal::Print(Option_t *) const
{
  printf("\n ###### Pedestal values 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("Pedestal[%d,%d,%d,%d]= %d \n",det,smn,row,col,
			   fPedMeanRms[det][smn][row][col]);

		}
	      printf("\n");
	    }
	}
    }
}
// ----------------------------------------------------------------- //
 AliPMDPedestal.cxx:1
 AliPMDPedestal.cxx:2
 AliPMDPedestal.cxx:3
 AliPMDPedestal.cxx:4
 AliPMDPedestal.cxx:5
 AliPMDPedestal.cxx:6
 AliPMDPedestal.cxx:7
 AliPMDPedestal.cxx:8
 AliPMDPedestal.cxx:9
 AliPMDPedestal.cxx:10
 AliPMDPedestal.cxx:11
 AliPMDPedestal.cxx:12
 AliPMDPedestal.cxx:13
 AliPMDPedestal.cxx:14
 AliPMDPedestal.cxx:15
 AliPMDPedestal.cxx:16
 AliPMDPedestal.cxx:17
 AliPMDPedestal.cxx:18
 AliPMDPedestal.cxx:19
 AliPMDPedestal.cxx:20
 AliPMDPedestal.cxx:21
 AliPMDPedestal.cxx:22
 AliPMDPedestal.cxx:23
 AliPMDPedestal.cxx:24
 AliPMDPedestal.cxx:25
 AliPMDPedestal.cxx:26
 AliPMDPedestal.cxx:27
 AliPMDPedestal.cxx:28
 AliPMDPedestal.cxx:29
 AliPMDPedestal.cxx:30
 AliPMDPedestal.cxx:31
 AliPMDPedestal.cxx:32
 AliPMDPedestal.cxx:33
 AliPMDPedestal.cxx:34
 AliPMDPedestal.cxx:35
 AliPMDPedestal.cxx:36
 AliPMDPedestal.cxx:37
 AliPMDPedestal.cxx:38
 AliPMDPedestal.cxx:39
 AliPMDPedestal.cxx:40
 AliPMDPedestal.cxx:41
 AliPMDPedestal.cxx:42
 AliPMDPedestal.cxx:43
 AliPMDPedestal.cxx:44
 AliPMDPedestal.cxx:45
 AliPMDPedestal.cxx:46
 AliPMDPedestal.cxx:47
 AliPMDPedestal.cxx:48
 AliPMDPedestal.cxx:49
 AliPMDPedestal.cxx:50
 AliPMDPedestal.cxx:51
 AliPMDPedestal.cxx:52
 AliPMDPedestal.cxx:53
 AliPMDPedestal.cxx:54
 AliPMDPedestal.cxx:55
 AliPMDPedestal.cxx:56
 AliPMDPedestal.cxx:57
 AliPMDPedestal.cxx:58
 AliPMDPedestal.cxx:59
 AliPMDPedestal.cxx:60
 AliPMDPedestal.cxx:61
 AliPMDPedestal.cxx:62
 AliPMDPedestal.cxx:63
 AliPMDPedestal.cxx:64
 AliPMDPedestal.cxx:65
 AliPMDPedestal.cxx:66
 AliPMDPedestal.cxx:67
 AliPMDPedestal.cxx:68
 AliPMDPedestal.cxx:69
 AliPMDPedestal.cxx:70
 AliPMDPedestal.cxx:71
 AliPMDPedestal.cxx:72
 AliPMDPedestal.cxx:73
 AliPMDPedestal.cxx:74
 AliPMDPedestal.cxx:75
 AliPMDPedestal.cxx:76
 AliPMDPedestal.cxx:77
 AliPMDPedestal.cxx:78
 AliPMDPedestal.cxx:79
 AliPMDPedestal.cxx:80
 AliPMDPedestal.cxx:81
 AliPMDPedestal.cxx:82
 AliPMDPedestal.cxx:83
 AliPMDPedestal.cxx:84
 AliPMDPedestal.cxx:85
 AliPMDPedestal.cxx:86
 AliPMDPedestal.cxx:87
 AliPMDPedestal.cxx:88
 AliPMDPedestal.cxx:89
 AliPMDPedestal.cxx:90
 AliPMDPedestal.cxx:91
 AliPMDPedestal.cxx:92
 AliPMDPedestal.cxx:93
 AliPMDPedestal.cxx:94
 AliPMDPedestal.cxx:95
 AliPMDPedestal.cxx:96
 AliPMDPedestal.cxx:97
 AliPMDPedestal.cxx:98
 AliPMDPedestal.cxx:99
 AliPMDPedestal.cxx:100
 AliPMDPedestal.cxx:101
 AliPMDPedestal.cxx:102
 AliPMDPedestal.cxx:103
 AliPMDPedestal.cxx:104
 AliPMDPedestal.cxx:105
 AliPMDPedestal.cxx:106
 AliPMDPedestal.cxx:107
 AliPMDPedestal.cxx:108
 AliPMDPedestal.cxx:109
 AliPMDPedestal.cxx:110
 AliPMDPedestal.cxx:111
 AliPMDPedestal.cxx:112
 AliPMDPedestal.cxx:113
 AliPMDPedestal.cxx:114
 AliPMDPedestal.cxx:115
 AliPMDPedestal.cxx:116
 AliPMDPedestal.cxx:117
 AliPMDPedestal.cxx:118
 AliPMDPedestal.cxx:119
 AliPMDPedestal.cxx:120
 AliPMDPedestal.cxx:121
 AliPMDPedestal.cxx:122
 AliPMDPedestal.cxx:123
 AliPMDPedestal.cxx:124
 AliPMDPedestal.cxx:125
 AliPMDPedestal.cxx:126
 AliPMDPedestal.cxx:127
 AliPMDPedestal.cxx:128
 AliPMDPedestal.cxx:129
 AliPMDPedestal.cxx:130
 AliPMDPedestal.cxx:131
 AliPMDPedestal.cxx:132
 AliPMDPedestal.cxx:133
 AliPMDPedestal.cxx:134
 AliPMDPedestal.cxx:135
 AliPMDPedestal.cxx:136
 AliPMDPedestal.cxx:137
 AliPMDPedestal.cxx:138
 AliPMDPedestal.cxx:139
 AliPMDPedestal.cxx:140
 AliPMDPedestal.cxx:141
 AliPMDPedestal.cxx:142
 AliPMDPedestal.cxx:143
 AliPMDPedestal.cxx:144
 AliPMDPedestal.cxx:145
 AliPMDPedestal.cxx:146
 AliPMDPedestal.cxx:147
 AliPMDPedestal.cxx:148
 AliPMDPedestal.cxx:149