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.                  *
 **************************************************************************/

/* $Id$ */

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
//  Calibration base class for a single ROC                                  //
//  Contains one char value per pad                                          //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////

#include "AliTRDCalSingleChamberStatus.h"

ClassImp(AliTRDCalSingleChamberStatus)

//_____________________________________________________________________________
AliTRDCalSingleChamberStatus::AliTRDCalSingleChamberStatus()
  :TObject()
  ,fPla(0)
  ,fCha(0)
  ,fNrows(0)
  ,fNcols(0)
  ,fNchannels(0)
  ,fData(0)
{
  //
  // Default constructor
  //

}

//_____________________________________________________________________________
AliTRDCalSingleChamberStatus::AliTRDCalSingleChamberStatus(Int_t p, Int_t c, Int_t cols)
  :TObject()
  ,fPla(p)
  ,fCha(c)
  ,fNrows(0)
  ,fNcols(cols)
  ,fNchannels(0)
  ,fData(0)
{
  //
  // Constructor that initializes a given pad plane type
  //

  //
  // The pad plane parameter
  //
  switch (p) {
  case 0:
    if (c == 2) {
      // L0C0 type
      fNrows        =  12;
    }
    else {
      // L0C1 type
      fNrows        =  16;
    }
    break;
  case 1:
    if (c == 2) {
      // L1C0 type
      fNrows        =  12;
    }
    else {
      // L1C1 type
      fNrows        =  16;
    }
    break;
  case 2:
    if (c == 2) {
      // L2C0 type
      fNrows        =  12;
    }
    else {
      // L2C1 type
      fNrows        =  16;
    }
    break;
  case 3:
    if (c == 2) {
      // L3C0 type
      fNrows        =  12;
    }
    else {
      // L3C1 type
      fNrows        =  16;
    }
    break;
  case 4:
    if (c == 2) {
      // L4C0 type
      fNrows        =  12;
    }
    else {
      // L4C1 type
      fNrows        =  16;
    }
    break;
  case 5:
    if (c == 2) {
      // L5C0 type
      fNrows        =  12;
    }
    else {
      // L5C1 type
      fNrows        =  16;
    }
    break;
  };

  fNchannels = fNrows * fNcols;
  if (fNchannels != 0) {
    fData = new Char_t[fNchannels];
  }
  for (Int_t i=0; i<fNchannels; ++i) {
    fData[i] = 0;
  }

}

//_____________________________________________________________________________
AliTRDCalSingleChamberStatus::AliTRDCalSingleChamberStatus(const AliTRDCalSingleChamberStatus &c)
  :TObject(c)
  ,fPla(c.fPla)
  ,fCha(c.fCha)
  ,fNrows(c.fNrows)
  ,fNcols(c.fNcols)
  ,fNchannels(c.fNchannels)
  ,fData(0)
{
  //
  // AliTRDCalSingleChamberStatus copy constructor
  //

  fData = new Char_t[fNchannels];
  for (Int_t iBin = 0; iBin < fNchannels; iBin++) {
    fData[iBin] = ((AliTRDCalSingleChamberStatus &) c).fData[iBin];
  }

}

//_____________________________________________________________________________
AliTRDCalSingleChamberStatus::~AliTRDCalSingleChamberStatus()
{
  //
  // AliTRDCalSingleChamberStatus destructor
  //

  if (fData) {
    delete [] fData;
    fData = 0;
  }

}

//_____________________________________________________________________________
AliTRDCalSingleChamberStatus &AliTRDCalSingleChamberStatus::operator=(const AliTRDCalSingleChamberStatus &c)
{
  //
  // Assignment operator
  //

  if (this == &c) {
    return *this;
  }

  fPla       = c.fPla;
  fCha       = c.fCha;
  fNrows     = c.fNrows;
  fNcols     = c.fNcols;
  fNchannels = c.fNchannels;

  if (fData) {
    delete [] fData;
  }
  fData = new Char_t[fNchannels];
  for (Int_t iBin = 0; iBin < fNchannels; iBin++) {
    fData[iBin] = ((AliTRDCalSingleChamberStatus &) c).fData[iBin];
  }

  return *this;

}

//_____________________________________________________________________________
void AliTRDCalSingleChamberStatus::Copy(TObject &c) const
{
  //
  // Copy function
  //

  Int_t iBin = 0;

  ((AliTRDCalSingleChamberStatus &) c).fPla       = fPla;
  ((AliTRDCalSingleChamberStatus &) c).fCha       = fCha;

  ((AliTRDCalSingleChamberStatus &) c).fNrows     = fNrows;
  ((AliTRDCalSingleChamberStatus &) c).fNcols     = fNcols;

  ((AliTRDCalSingleChamberStatus &) c).fNchannels = fNchannels;

  if (((AliTRDCalSingleChamberStatus &) c).fData) {
    delete [] ((AliTRDCalSingleChamberStatus &) c).fData;
  }
  ((AliTRDCalSingleChamberStatus &) c).fData = new Char_t[fNchannels];
  for (iBin = 0; iBin < fNchannels; iBin++) {
    ((AliTRDCalSingleChamberStatus &) c).fData[iBin] = fData[iBin];
  }

  TObject::Copy(c);

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