ROOT logo
/**************************************************************************
 * Copyright(c) 2006-07, 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.                  *
 **************************************************************************/


////////////////////////////////////////////////////////////////////////////////
//                                                                            //
// Class describing TPC temperature sensors (including pointers to graphs/fits//
// Authors: Marian Ivanov, Haavard Helstrup and Martin Siska                  //
//                                                                            //
////////////////////////////////////////////////////////////////////////////////

// Running instructions:
/*
  TClonesArray * arr = AliTPCSensorTemp::ReadList("TempSensor.txt","tpc_PT_%d.Temperature");
  TFile f("TempSensors.root","RECREATE");
  TTree * tree = new TTree("TempSensor", "TempSensor");
  tree->Branch("Temp",&arr);
  tree->Fill();
  tree->Write();
  
*/

//

#include <strings.h>
#include "AliTPCSensorTemp.h"
ClassImp(AliTPCSensorTemp)



const Float_t kASideX[18][5]={
        { 99.56,  117.59,  160.82,  186.92,  213.11},
	{ 87.56,  103.4,   141.42,  164.37,  187.41},
	{ 64.99,   76.75,  104.97,  122.00,  139.1},
	{ 34.58,   40.84,   55.85,   64.92,  74.01},
	{    0,    0,    0,    0,    0},
	{-34.58,  -40.84,  -55.85,  -64.92,  -74.01},
	{-64.99,  -76.75, -104.97, -122.0,  -139.1},
	{-87.56, -103.4,  -141.42, -164.37, -187.41},
	{-99.56, -117.59, -160.82, -186.92, -213.11},
	{-99.56, -117.59, -160.82, -186.92, -213.11},
	{-87.56, -103.4,  -141.42, -164.37, -187.41},
	{-64.99,  -76.75, -104.97, -122,    -139.1},
	{-34.58,  -40.84,  -55.85,  -64.92,  -74.01},
	{    0,    0,    0,   0,   0},
	{ 34.58,   40.84,   55.85,   64.92,   74.01},
	{ 64.99,   76.75,  104.97,  122,     139.1},
	{ 87.56,  103.4,   141.42,  164.37,  187.41},
	{ 99.56,  117.59,  160.82,  186.92,  213.11}};
	
const Float_t kASideY[18][5]={
        { 17.56,   20.73,   28.36,   32.96,   37.58},
	{ 50.55,   59.7,    81.65,   94.9,   108.2},
	{ 77.45,   91.47,  125.1,   145.4,   165.77},
	{ 95.0,  112.3,    153.45,  178.35,  203.35},
	{101.1,  119.4,  163.3,  189.8,  216.4},
	{ 95.0,  112.2,  153.45,  178.35,  203.35},
	{ 77.45,   91.47,  125.1,  145.4,  165.77},
	{ 50.55,   59.7,   81.65,   94.9,  108.2},
	{ 17.56,   20.73,  28.36,   32.96,  37.58},
	{-17.56,  -20.73, -28.36,  -32.96, -37.58},
	{-50.55,  -59.7,  -81.65,  -94.9, -108.2},
	{-77.45,  -91.47, -125.1, -145.4, -165.77},
	{-95.0, -112.2, -153.45, -178.35, -203.35},
        {-101.1, -119.4, -163.3,  -189.8, -216.4},
        {-95.0, -112.2, -153.45, -178.35, -203.35},
	{-77.45,  -91.47, -125.1, -145.4, -165.77},
	{-50.55,  -59.7,  -81.65,  -94.9, -108.2},
	{-17.56,  -20.73, -28.36,  -32.96, -37.58}};  
	
const Float_t kCSideX[18][5]={
        { 99.56,  117.59,  160.82,  186.92,  213.11},
	{ 87.56,  103.4,   141.42,  164.37,  187.41},
	{ 64.99,   76.75,  104.97,  122,     139.1},
	{ 34.58,   40.84,   55.85,   64.92,   74.01},
	{    0,    0,    0,   0,   0},
	{-34.58,  -40.84,  -55.85,  -64.92,  -74.01},
	{-64.99,  -76.75, -104.97, -122,    -139.1},
	{-87.56, -103.4,  -141.42, -164.37, -187.41},
	{-99.56, -117.59, -160.82, -186.92, -213.11},
	{-99.56, -117.59, -160.82, -186.92, -213.11},
	{-87.56, -103.4,  -141.42, -164.37, -187.41},
	{-64.99,  -76.75, -104.97, -122,    -139.1},
	{-34.58,  -40.84,  -55.85,  -64.92,  -74.01},
	{    0,    0,    0,    0,    0},
	{ 34.58,   40.84,   55.85,   64.92,   74.01},
	{ 64.99,   76.75,  104.97,  122,     139.1},
	{ 87.56,  103.4,   141.42,  164.37,  187.41},
	{ 99.56,  117.59,  160.82,  186.92,  213.11}};

const Float_t kCSideY[18][5]={
        { 17.56,   20.73,   28.36,   32.96,   37.58},
	{ 50.55,   59.7,    81.65,   94.9,   108.2},
	{ 77.45,   91.47,  125.1,   145.4,   165.77},
	{ 95.0,   112.2,   153.54,  178.35,  203.35},
	{101.1,  119.4,  163.3,  189.8,  216.4},
	{ 95.0,   112.2,   153.45,  178.35,  203.35},
	{ 77.45,   91.47,  125.1,   145.4,   165.77},
	{ 50.55,   59.7,    81.65,   94.9,   108.2},
	{ 17.56,   20.73,   28.36,   32.96,   37.58},
	{-17.56,  -20.73,  -28.36,  -32.96,  -37.58},
	{-50.55,  -59.7,   -81.56,  -94.9,  -108.2},
	{-77.45,  -91.47, -125.1,  -145.4,  -165.77},
	{-95.0,  -112.2,  -153.45, -178.35, -203.35},
        {-101.1, -119.4, -163.3, -189.8, -216.4},
        {-95.0, -112.2, -153.45, -178.35, -203.35},
	{-77.45,  -91.47, -125.1, -145.4, -165.77},
	{-50.55,  -59.7,  -81.65,  -94.9, -108.2},
	{-17.56,  -20.73, -28.36,  -32.96,  -37.58}};  

const Float_t kIFCrad[5] = {67.2, 64.4, 60.7, 64.4, 67.2};

const Float_t kTSrad[4] =  {67.2, 61.5, 67.2, 61.5}; 
const Float_t kTSz[4] =  {240.0, 90.0, 240.0, 90.0}; 

//______________________________________________________________________________________________

AliTPCSensorTemp::AliTPCSensorTemp(): AliDCSSensor(),
  fType(0),
  fSide(0),
  fSector(0),
  fNum(0)
{
  //
  //  Standard constructor
  //
}
//______________________________________________________________________________________________

AliTPCSensorTemp::AliTPCSensorTemp(const AliTPCSensorTemp& source) :
  AliDCSSensor(source),
   fType(source.fType),
   fSide(source.fSide),
   fSector(source.fSector),
   fNum(source.fNum)

//
//  Copy constructor
//
{ }
//______________________________________________________________________________________________

AliTPCSensorTemp& AliTPCSensorTemp::operator=(const AliTPCSensorTemp& source){
//
// assignment operator
//
  if (&source == this) return *this;
  new (this) AliTPCSensorTemp(source);
  
  return *this;  
}
//______________________________________________________________________________________________

TClonesArray * AliTPCSensorTemp::ReadList(const char *fname,
                                          const TString& amandaString) {
  //
  // read values from ascii file
  //
  TTree * tree = new TTree("asci","asci");
  tree->ReadFile(fname,"");
  TClonesArray *arr = ReadTree(tree, amandaString);
  delete tree;
  return arr;
}
     
//______________________________________________________________________________________________

TClonesArray * AliTPCSensorTemp::ReadTree(TTree *tree, 
                                          const TString& amandaString) {
  
  Int_t nentries = tree->GetEntries();
  Int_t sensor=0;
  Int_t sector=0;
  char  type[100];
  char  side[100];
  Int_t num=0;
  Int_t echa=0;
  //Double_t x=0;
  //Double_t y=0;
  //Double_t z=0;
  //String_t namedtp[100];

  tree->SetBranchAddress("Sensor",&sensor);
  tree->SetBranchAddress("Type",&type);
  tree->SetBranchAddress("Side",&side);
  tree->SetBranchAddress("Sec",&sector);
  tree->SetBranchAddress("Num",&num);
  tree->SetBranchAddress("ECha",&echa);
  //tree->SetBranchAddress("X",&x);
  //tree->SetBranchAddress("Y",&y);
  //tree->SetBranchAddress("Z",&z);

  // firstSensor = (Int_t)tree->GetMinimum("ECha");
  // lastSensor = (Int_t)tree->GetMaximum("ECha");

  TClonesArray * array = new TClonesArray("AliTPCSensorTemp",nentries);

  for (Int_t isensor=0; isensor<nentries; isensor++){
    AliTPCSensorTemp * temp = new ((*array)[isensor])AliTPCSensorTemp;
    tree->GetEntry(isensor);
    temp->SetId(sensor);
    temp->SetIdDCS(echa);
    TString stringID = Form (amandaString.Data(),echa);
    temp->SetStringID(stringID);
    if (side[0]=='C') temp->SetSide(1);
    temp->SetSector(sector);
    temp->SetNum(num);
    //temp->SetType(type);
    if (bcmp(type,"ROC",3)==0) temp->SetType(0);
    if (bcmp(type,"OFC",3)==0) temp->SetType(1);
    if (bcmp(type,"IFC",3)==0) temp->SetType(2);
    if (bcmp(type,"TPC",3)==0) temp->SetType(3); 
    if (bcmp(type,"ELM",3)==0) temp->SetType(4);
    if (bcmp(type,"TS",2)==0)  temp->SetType(5);
    if (bcmp(type,"COOL",3)==0)temp->SetType(6);
    //temp->SetX(x);

    if (temp->GetType()==0){
//	temp->SetX(TMath::Cos((2*sector+1)*0.1745)*(83+(num+1)*30));
      if (side[0]=='C') {
          temp->SetX(kCSideX[sector][num]);
      } else {
          temp->SetX(kASideX[sector][num]);
      }      
    }
    if ((temp->GetType()==1) || (temp->GetType()==4)){
      temp->SetX(TMath::Cos((2*sector+1)*0.1745)*278);
    }
    if (temp->GetType()==2) {
      temp->SetX(TMath::Cos((2*sector+1)*0.1745)*60.7);
    }
    if (temp->GetType()==3) {
      if (num==0) {
        temp->SetX(TMath::Cos((2*sector+1)*0.1745)*87.5);
      } else {
        temp->SetX(TMath::Cos((2*sector+1)*0.1745)*241.8);
      }
    } 
    if (temp->GetType()==5){
      temp->SetX(TMath::Cos(sector*0.524+(num+1)*0.131)*kTSrad[num]);
    }
    if (temp->GetType()==6){
      temp->SetX(0);
    }
    
    //temp->SetY(y);
    if (temp->GetType()==0){
//	  temp->SetY(TMath::Sin((2*sector+1)*0.1745)*(83+(num+1)*30));
      if (side[0]=='C') {
          temp->SetY(kCSideY[sector][num]);
      } else {
          temp->SetY(kASideY[sector][num]);
      }      
    }
    if ((temp->GetType()==1) || (temp->GetType()==4)){
      temp->SetY(TMath::Sin((2*sector+1)*0.1745)*278);
    }
    if (temp->GetType()==2){
      temp->SetY(TMath::Sin((2*sector+1)*0.1745)*60.7);
    }
    if (temp->GetType()==3) {
      if (num==0) {
        temp->SetY(TMath::Sin((2*sector+1)*0.1745)*87.5);
      } else {
        temp->SetY(TMath::Sin((2*sector+1)*0.1745)*241.8);
      }
    } 

    if (temp->GetType()==5){
      temp->SetY(TMath::Sin(sector*0.524+(num+1)*0.131)*kTSrad[num]);
    }

    if (temp->GetType()==6){
      temp->SetY(0);
    }

    //temp->SetZ(z);
    if ((temp->GetType()==0 || 
         temp->GetType()==4 || temp->GetType()==6) && 
	 temp->GetSide()==0) {
             temp->SetZ(250);
      }
    if ((temp->GetType()==0 || temp->GetType()==4 ||
         temp->GetType()==6) && temp->GetSide()==1){
             temp->SetZ(-250);
      }
    if(temp->GetType()==2 && temp->GetSide()==0) {
         temp->SetZ(52.4);
      }
    if(temp->GetType()==2 && temp->GetSide()==1) {
         temp->SetZ(-52.4);
      }

    if(temp->GetType()==3 && temp->GetSide()==0) {
         temp->SetZ(247);
      }
    if(temp->GetType()==3 && temp->GetSide()==1) {
         temp->SetZ(-247);
      }

    if((temp->GetType()==1 ) && (num==0)) {
      temp->SetZ(240);
      }
    if((temp->GetType()==1 ) && (num==1)) {
      temp->SetZ(168.4);
      }
    if((temp->GetType()==1 ) && (num==2)) {
      temp->SetZ(51);
      }
    if((temp->GetType()==1 ) && (num==3)) {
      temp->SetZ(-51);
      }
    if((temp->GetType()==1 ) && (num==4)) {
      temp->SetZ(-168.4);
      }
    if((temp->GetType()==1 ) && (num==5)) {
      temp->SetZ(-240);
      }

    if ( num < (Int_t)(sizeof(kTSz)/sizeof(kTSz[0]))) {
      if(temp->GetType()==5 && temp->GetSide()==0) {
         temp->SetZ(kTSz[num]);
      }
      if(temp->GetType()==5 && temp->GetSide()==1) {
         temp->SetZ(-kTSz[num]);
      }
    }

  }
  return array;
}
 AliTPCSensorTemp.cxx:1
 AliTPCSensorTemp.cxx:2
 AliTPCSensorTemp.cxx:3
 AliTPCSensorTemp.cxx:4
 AliTPCSensorTemp.cxx:5
 AliTPCSensorTemp.cxx:6
 AliTPCSensorTemp.cxx:7
 AliTPCSensorTemp.cxx:8
 AliTPCSensorTemp.cxx:9
 AliTPCSensorTemp.cxx:10
 AliTPCSensorTemp.cxx:11
 AliTPCSensorTemp.cxx:12
 AliTPCSensorTemp.cxx:13
 AliTPCSensorTemp.cxx:14
 AliTPCSensorTemp.cxx:15
 AliTPCSensorTemp.cxx:16
 AliTPCSensorTemp.cxx:17
 AliTPCSensorTemp.cxx:18
 AliTPCSensorTemp.cxx:19
 AliTPCSensorTemp.cxx:20
 AliTPCSensorTemp.cxx:21
 AliTPCSensorTemp.cxx:22
 AliTPCSensorTemp.cxx:23
 AliTPCSensorTemp.cxx:24
 AliTPCSensorTemp.cxx:25
 AliTPCSensorTemp.cxx:26
 AliTPCSensorTemp.cxx:27
 AliTPCSensorTemp.cxx:28
 AliTPCSensorTemp.cxx:29
 AliTPCSensorTemp.cxx:30
 AliTPCSensorTemp.cxx:31
 AliTPCSensorTemp.cxx:32
 AliTPCSensorTemp.cxx:33
 AliTPCSensorTemp.cxx:34
 AliTPCSensorTemp.cxx:35
 AliTPCSensorTemp.cxx:36
 AliTPCSensorTemp.cxx:37
 AliTPCSensorTemp.cxx:38
 AliTPCSensorTemp.cxx:39
 AliTPCSensorTemp.cxx:40
 AliTPCSensorTemp.cxx:41
 AliTPCSensorTemp.cxx:42
 AliTPCSensorTemp.cxx:43
 AliTPCSensorTemp.cxx:44
 AliTPCSensorTemp.cxx:45
 AliTPCSensorTemp.cxx:46
 AliTPCSensorTemp.cxx:47
 AliTPCSensorTemp.cxx:48
 AliTPCSensorTemp.cxx:49
 AliTPCSensorTemp.cxx:50
 AliTPCSensorTemp.cxx:51
 AliTPCSensorTemp.cxx:52
 AliTPCSensorTemp.cxx:53
 AliTPCSensorTemp.cxx:54
 AliTPCSensorTemp.cxx:55
 AliTPCSensorTemp.cxx:56
 AliTPCSensorTemp.cxx:57
 AliTPCSensorTemp.cxx:58
 AliTPCSensorTemp.cxx:59
 AliTPCSensorTemp.cxx:60
 AliTPCSensorTemp.cxx:61
 AliTPCSensorTemp.cxx:62
 AliTPCSensorTemp.cxx:63
 AliTPCSensorTemp.cxx:64
 AliTPCSensorTemp.cxx:65
 AliTPCSensorTemp.cxx:66
 AliTPCSensorTemp.cxx:67
 AliTPCSensorTemp.cxx:68
 AliTPCSensorTemp.cxx:69
 AliTPCSensorTemp.cxx:70
 AliTPCSensorTemp.cxx:71
 AliTPCSensorTemp.cxx:72
 AliTPCSensorTemp.cxx:73
 AliTPCSensorTemp.cxx:74
 AliTPCSensorTemp.cxx:75
 AliTPCSensorTemp.cxx:76
 AliTPCSensorTemp.cxx:77
 AliTPCSensorTemp.cxx:78
 AliTPCSensorTemp.cxx:79
 AliTPCSensorTemp.cxx:80
 AliTPCSensorTemp.cxx:81
 AliTPCSensorTemp.cxx:82
 AliTPCSensorTemp.cxx:83
 AliTPCSensorTemp.cxx:84
 AliTPCSensorTemp.cxx:85
 AliTPCSensorTemp.cxx:86
 AliTPCSensorTemp.cxx:87
 AliTPCSensorTemp.cxx:88
 AliTPCSensorTemp.cxx:89
 AliTPCSensorTemp.cxx:90
 AliTPCSensorTemp.cxx:91
 AliTPCSensorTemp.cxx:92
 AliTPCSensorTemp.cxx:93
 AliTPCSensorTemp.cxx:94
 AliTPCSensorTemp.cxx:95
 AliTPCSensorTemp.cxx:96
 AliTPCSensorTemp.cxx:97
 AliTPCSensorTemp.cxx:98
 AliTPCSensorTemp.cxx:99
 AliTPCSensorTemp.cxx:100
 AliTPCSensorTemp.cxx:101
 AliTPCSensorTemp.cxx:102
 AliTPCSensorTemp.cxx:103
 AliTPCSensorTemp.cxx:104
 AliTPCSensorTemp.cxx:105
 AliTPCSensorTemp.cxx:106
 AliTPCSensorTemp.cxx:107
 AliTPCSensorTemp.cxx:108
 AliTPCSensorTemp.cxx:109
 AliTPCSensorTemp.cxx:110
 AliTPCSensorTemp.cxx:111
 AliTPCSensorTemp.cxx:112
 AliTPCSensorTemp.cxx:113
 AliTPCSensorTemp.cxx:114
 AliTPCSensorTemp.cxx:115
 AliTPCSensorTemp.cxx:116
 AliTPCSensorTemp.cxx:117
 AliTPCSensorTemp.cxx:118
 AliTPCSensorTemp.cxx:119
 AliTPCSensorTemp.cxx:120
 AliTPCSensorTemp.cxx:121
 AliTPCSensorTemp.cxx:122
 AliTPCSensorTemp.cxx:123
 AliTPCSensorTemp.cxx:124
 AliTPCSensorTemp.cxx:125
 AliTPCSensorTemp.cxx:126
 AliTPCSensorTemp.cxx:127
 AliTPCSensorTemp.cxx:128
 AliTPCSensorTemp.cxx:129
 AliTPCSensorTemp.cxx:130
 AliTPCSensorTemp.cxx:131
 AliTPCSensorTemp.cxx:132
 AliTPCSensorTemp.cxx:133
 AliTPCSensorTemp.cxx:134
 AliTPCSensorTemp.cxx:135
 AliTPCSensorTemp.cxx:136
 AliTPCSensorTemp.cxx:137
 AliTPCSensorTemp.cxx:138
 AliTPCSensorTemp.cxx:139
 AliTPCSensorTemp.cxx:140
 AliTPCSensorTemp.cxx:141
 AliTPCSensorTemp.cxx:142
 AliTPCSensorTemp.cxx:143
 AliTPCSensorTemp.cxx:144
 AliTPCSensorTemp.cxx:145
 AliTPCSensorTemp.cxx:146
 AliTPCSensorTemp.cxx:147
 AliTPCSensorTemp.cxx:148
 AliTPCSensorTemp.cxx:149
 AliTPCSensorTemp.cxx:150
 AliTPCSensorTemp.cxx:151
 AliTPCSensorTemp.cxx:152
 AliTPCSensorTemp.cxx:153
 AliTPCSensorTemp.cxx:154
 AliTPCSensorTemp.cxx:155
 AliTPCSensorTemp.cxx:156
 AliTPCSensorTemp.cxx:157
 AliTPCSensorTemp.cxx:158
 AliTPCSensorTemp.cxx:159
 AliTPCSensorTemp.cxx:160
 AliTPCSensorTemp.cxx:161
 AliTPCSensorTemp.cxx:162
 AliTPCSensorTemp.cxx:163
 AliTPCSensorTemp.cxx:164
 AliTPCSensorTemp.cxx:165
 AliTPCSensorTemp.cxx:166
 AliTPCSensorTemp.cxx:167
 AliTPCSensorTemp.cxx:168
 AliTPCSensorTemp.cxx:169
 AliTPCSensorTemp.cxx:170
 AliTPCSensorTemp.cxx:171
 AliTPCSensorTemp.cxx:172
 AliTPCSensorTemp.cxx:173
 AliTPCSensorTemp.cxx:174
 AliTPCSensorTemp.cxx:175
 AliTPCSensorTemp.cxx:176
 AliTPCSensorTemp.cxx:177
 AliTPCSensorTemp.cxx:178
 AliTPCSensorTemp.cxx:179
 AliTPCSensorTemp.cxx:180
 AliTPCSensorTemp.cxx:181
 AliTPCSensorTemp.cxx:182
 AliTPCSensorTemp.cxx:183
 AliTPCSensorTemp.cxx:184
 AliTPCSensorTemp.cxx:185
 AliTPCSensorTemp.cxx:186
 AliTPCSensorTemp.cxx:187
 AliTPCSensorTemp.cxx:188
 AliTPCSensorTemp.cxx:189
 AliTPCSensorTemp.cxx:190
 AliTPCSensorTemp.cxx:191
 AliTPCSensorTemp.cxx:192
 AliTPCSensorTemp.cxx:193
 AliTPCSensorTemp.cxx:194
 AliTPCSensorTemp.cxx:195
 AliTPCSensorTemp.cxx:196
 AliTPCSensorTemp.cxx:197
 AliTPCSensorTemp.cxx:198
 AliTPCSensorTemp.cxx:199
 AliTPCSensorTemp.cxx:200
 AliTPCSensorTemp.cxx:201
 AliTPCSensorTemp.cxx:202
 AliTPCSensorTemp.cxx:203
 AliTPCSensorTemp.cxx:204
 AliTPCSensorTemp.cxx:205
 AliTPCSensorTemp.cxx:206
 AliTPCSensorTemp.cxx:207
 AliTPCSensorTemp.cxx:208
 AliTPCSensorTemp.cxx:209
 AliTPCSensorTemp.cxx:210
 AliTPCSensorTemp.cxx:211
 AliTPCSensorTemp.cxx:212
 AliTPCSensorTemp.cxx:213
 AliTPCSensorTemp.cxx:214
 AliTPCSensorTemp.cxx:215
 AliTPCSensorTemp.cxx:216
 AliTPCSensorTemp.cxx:217
 AliTPCSensorTemp.cxx:218
 AliTPCSensorTemp.cxx:219
 AliTPCSensorTemp.cxx:220
 AliTPCSensorTemp.cxx:221
 AliTPCSensorTemp.cxx:222
 AliTPCSensorTemp.cxx:223
 AliTPCSensorTemp.cxx:224
 AliTPCSensorTemp.cxx:225
 AliTPCSensorTemp.cxx:226
 AliTPCSensorTemp.cxx:227
 AliTPCSensorTemp.cxx:228
 AliTPCSensorTemp.cxx:229
 AliTPCSensorTemp.cxx:230
 AliTPCSensorTemp.cxx:231
 AliTPCSensorTemp.cxx:232
 AliTPCSensorTemp.cxx:233
 AliTPCSensorTemp.cxx:234
 AliTPCSensorTemp.cxx:235
 AliTPCSensorTemp.cxx:236
 AliTPCSensorTemp.cxx:237
 AliTPCSensorTemp.cxx:238
 AliTPCSensorTemp.cxx:239
 AliTPCSensorTemp.cxx:240
 AliTPCSensorTemp.cxx:241
 AliTPCSensorTemp.cxx:242
 AliTPCSensorTemp.cxx:243
 AliTPCSensorTemp.cxx:244
 AliTPCSensorTemp.cxx:245
 AliTPCSensorTemp.cxx:246
 AliTPCSensorTemp.cxx:247
 AliTPCSensorTemp.cxx:248
 AliTPCSensorTemp.cxx:249
 AliTPCSensorTemp.cxx:250
 AliTPCSensorTemp.cxx:251
 AliTPCSensorTemp.cxx:252
 AliTPCSensorTemp.cxx:253
 AliTPCSensorTemp.cxx:254
 AliTPCSensorTemp.cxx:255
 AliTPCSensorTemp.cxx:256
 AliTPCSensorTemp.cxx:257
 AliTPCSensorTemp.cxx:258
 AliTPCSensorTemp.cxx:259
 AliTPCSensorTemp.cxx:260
 AliTPCSensorTemp.cxx:261
 AliTPCSensorTemp.cxx:262
 AliTPCSensorTemp.cxx:263
 AliTPCSensorTemp.cxx:264
 AliTPCSensorTemp.cxx:265
 AliTPCSensorTemp.cxx:266
 AliTPCSensorTemp.cxx:267
 AliTPCSensorTemp.cxx:268
 AliTPCSensorTemp.cxx:269
 AliTPCSensorTemp.cxx:270
 AliTPCSensorTemp.cxx:271
 AliTPCSensorTemp.cxx:272
 AliTPCSensorTemp.cxx:273
 AliTPCSensorTemp.cxx:274
 AliTPCSensorTemp.cxx:275
 AliTPCSensorTemp.cxx:276
 AliTPCSensorTemp.cxx:277
 AliTPCSensorTemp.cxx:278
 AliTPCSensorTemp.cxx:279
 AliTPCSensorTemp.cxx:280
 AliTPCSensorTemp.cxx:281
 AliTPCSensorTemp.cxx:282
 AliTPCSensorTemp.cxx:283
 AliTPCSensorTemp.cxx:284
 AliTPCSensorTemp.cxx:285
 AliTPCSensorTemp.cxx:286
 AliTPCSensorTemp.cxx:287
 AliTPCSensorTemp.cxx:288
 AliTPCSensorTemp.cxx:289
 AliTPCSensorTemp.cxx:290
 AliTPCSensorTemp.cxx:291
 AliTPCSensorTemp.cxx:292
 AliTPCSensorTemp.cxx:293
 AliTPCSensorTemp.cxx:294
 AliTPCSensorTemp.cxx:295
 AliTPCSensorTemp.cxx:296
 AliTPCSensorTemp.cxx:297
 AliTPCSensorTemp.cxx:298
 AliTPCSensorTemp.cxx:299
 AliTPCSensorTemp.cxx:300
 AliTPCSensorTemp.cxx:301
 AliTPCSensorTemp.cxx:302
 AliTPCSensorTemp.cxx:303
 AliTPCSensorTemp.cxx:304
 AliTPCSensorTemp.cxx:305
 AliTPCSensorTemp.cxx:306
 AliTPCSensorTemp.cxx:307
 AliTPCSensorTemp.cxx:308
 AliTPCSensorTemp.cxx:309
 AliTPCSensorTemp.cxx:310
 AliTPCSensorTemp.cxx:311
 AliTPCSensorTemp.cxx:312
 AliTPCSensorTemp.cxx:313
 AliTPCSensorTemp.cxx:314
 AliTPCSensorTemp.cxx:315
 AliTPCSensorTemp.cxx:316
 AliTPCSensorTemp.cxx:317
 AliTPCSensorTemp.cxx:318
 AliTPCSensorTemp.cxx:319
 AliTPCSensorTemp.cxx:320
 AliTPCSensorTemp.cxx:321
 AliTPCSensorTemp.cxx:322
 AliTPCSensorTemp.cxx:323
 AliTPCSensorTemp.cxx:324
 AliTPCSensorTemp.cxx:325
 AliTPCSensorTemp.cxx:326
 AliTPCSensorTemp.cxx:327
 AliTPCSensorTemp.cxx:328
 AliTPCSensorTemp.cxx:329
 AliTPCSensorTemp.cxx:330
 AliTPCSensorTemp.cxx:331
 AliTPCSensorTemp.cxx:332
 AliTPCSensorTemp.cxx:333
 AliTPCSensorTemp.cxx:334
 AliTPCSensorTemp.cxx:335
 AliTPCSensorTemp.cxx:336
 AliTPCSensorTemp.cxx:337
 AliTPCSensorTemp.cxx:338
 AliTPCSensorTemp.cxx:339
 AliTPCSensorTemp.cxx:340
 AliTPCSensorTemp.cxx:341
 AliTPCSensorTemp.cxx:342
 AliTPCSensorTemp.cxx:343