ROOT logo
/**************************************************************************
 * Copyright(c) 1998-2004, 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 <Riostream.h>
#include <TMath.h>
#include "AliLog.h"
#include "AliITSpListItem.h"
// ************************************************************************
// the data member "fa" of the AliITSpList class
// is a TObjectArray of AliITSpListItem objects
// each AliITSpListItem object contains information related to
// the digitization such signal, noise, module number,...
// plus some info related to the simulation (hits/track)
// in order to allow efficiency studies
//************************************************************************
ClassImp(AliITSpListItem)
//______________________________________________________________________
AliITSpListItem::AliITSpListItem():
fmodule(-1),
findex(-1),
fTsignal(0.0),
fNoise(0.0),
fSignalAfterElect(0.0),
fUsed(kFALSE){
    // Default constructor
    // Inputs:
    //    none.
    // Outputs:
    //    none.
    // Return:
    //    A zeroed/empty AliITSpListItem class.

    for(Int_t i=0;i<this->fgksize;i++){
        this->fTrack[i]  = -2;
        this->fHits[i]   = -1;
        this->fSignal[i] = 0.0;
    } // end if i
}
//______________________________________________________________________
AliITSpListItem::AliITSpListItem(Int_t module,Int_t index,Double_t noise):
fmodule(module),
findex(index),
fTsignal(0.0),
fNoise(noise),
fSignalAfterElect(0.0),
fUsed(kTRUE){
    // Standard noise constructor
    // Inputs:
    //    Int_t module   The module where this noise occurred
    //    Int_t index    The cell index where this noise occurred
    //    Double_t noise The value of the noise.
    // Outputs:
    //    none.
    // Return:
    //    A setup and noise filled AliITSpListItem class.

    for(Int_t i=0;i<this->fgksize;i++){
        this->fTrack[i]  = -2;
        this->fSignal[i] = 0.0;
        this->fHits[i]   = -1;
    } // end if i
}
//______________________________________________________________________
AliITSpListItem::AliITSpListItem(Int_t track,Int_t hit,Int_t module,
                               Int_t index,Double_t signal):
fmodule(module),
findex(index),
fTsignal(signal),
fNoise(0.0),
fSignalAfterElect(0.0),
fUsed(kTRUE){
    // Standard signal constructor
    // Inputs:
    //    Int_t track     The track number which produced this signal
    //    Int_t hit       The hit number which produced this signal
    //    Int_t module    The module where this signal occurred
    //    Int_t index     The cell index where this signal occurred
    //    Double_t signal The value of the signal (ionization)
    // Outputs:
    //    none.
    // Return:
    //    A setup and signal filled  AliITSpListItem class.

    this->fTrack[0]  = track;
    this->fHits[0]   = hit;
    this->fSignal[0] = signal;
    for(Int_t i=1;i<this->fgksize;i++){
        this->fTrack[i]  = -2;
        this->fSignal[i] = 0.0;
        this->fHits[i]   = -1;
    } // end if i
}

//______________________________________________________________________
void AliITSpListItem::Build(Int_t module,Int_t index,Double_t noise){
  // this method resets all the data members and initializes the
  // object as in the constructor which has the same arguments
  fmodule = module;
  findex = index;
  fTsignal = 0.;
  fNoise = noise;
  fSignalAfterElect = 0.;
  fUsed = kTRUE;
  for(Int_t i=0;i<this->fgksize;i++){
    this->fTrack[i]  = -2;
    this->fSignal[i] = 0.0;
    this->fHits[i]   = -1;
  } 
}

//______________________________________________________________________
void AliITSpListItem::Build(Int_t track,Int_t hit,Int_t module,Int_t index,Double_t signal){
  // this method resets all the data members and initializes the
  // object as in the constructor which has the same arguments
  fmodule = module;
  findex = index;
  fTsignal = signal;
  fNoise = 0.;
  fSignalAfterElect = 0.;
  fUsed = kTRUE;
  this->fTrack[0]  = track;
  this->fHits[0]   = hit;
  this->fSignal[0] = signal;
  for(Int_t i=1;i<this->fgksize;i++){
    this->fTrack[i]  = -2;
    this->fSignal[i] = 0.0;
    this->fHits[i]   = -1;
  } 
}

//______________________________________________________________________
void AliITSpListItem::Build(const AliITSpListItem &source){
  // this method resets all the data members and initializes the
  // object as in the constructor which has the same arguments
  fmodule = source.fmodule;
  findex = source.findex;
  fTsignal = source.fTsignal;
  fNoise = source.fNoise;
  fSignalAfterElect = source.fSignalAfterElect;
  fUsed = source.fUsed;
  for(Int_t i=0;i<this->fgksize;i++){
    this->fTrack[i]  = source.fTrack[i];
    this->fSignal[i] = source.fSignal[i];
    this->fHits[i]   = source.fHits[i];
  }
}

//______________________________________________________________________
AliITSpListItem::~AliITSpListItem(){
    // Destructor
    // Inputs:
    //    none.
    // Outputs:
    //    none.
    // Return:
    //    A properly destroyed AliITSpListItem class.

}
//______________________________________________________________________
AliITSpListItem& AliITSpListItem::operator=(const AliITSpListItem &source){
    // = operator
    // Inputs:
    //    AliITSpListItem &source   A AliITSpListItem Object
    // Outputs:
    //    none.
    // Return:
    //    A copied AliITSpListItem object
  this->~AliITSpListItem();
  new(this) AliITSpListItem(source);
  return *this;

}
//______________________________________________________________________
AliITSpListItem::AliITSpListItem(const AliITSpListItem &source) : 
TObject(source),
fmodule(source.fmodule),
findex(source.findex),
fTsignal(source.fTsignal),
fNoise(source.fNoise),
fSignalAfterElect(source.fSignalAfterElect),
fUsed(source.fUsed){
    // Copy operator
    // Inputs:
    //    AliITSpListItem &source   A AliITSpListItem Object
    // Outputs:
    //    none.
    // Return:
    //    A copied AliITSpListItem object
  
    for(Int_t i=0;i<this->fgksize;i++){
      this->fTrack[i]  = source.fTrack[i];
      this->fSignal[i] = source.fSignal[i];
      this->fHits[i]   = source.fHits[i];
    } // end if i

}
//______________________________________________________________________
void AliITSpListItem::AddSignal(Int_t track,Int_t hit,Int_t module,
                               Int_t index,Double_t signal){
    // Adds this track number and signal to the pList and orders them
    // Inputs:
    //    Int_t track     The track number which produced this signal
    //    Int_t hit       The hit number which produced this signal
    //    Int_t module    The module where this signal occurred
    //    Int_t index     The cell index where this signal occurred
    //    Double_t signal The value of the signal (ionization)
    // Outputs:
    //    none.
    // Return:
    //    none.
    Int_t    i,j,trk,hts;
    Double_t sig;
    Bool_t   flg=kFALSE;

    if (TMath::Abs(signal)>2147483647.0) {
      //PH 2147483647 is the max. integer
      //PH This apparently is a problem which needs investigation
      AliWarning(Form("Too big or too small signal value %f",signal));
      signal = TMath::Sign((Double_t)2147483647,signal);
    }
    if(findex!=index || fmodule!=module) 
        Warning("AddSignal","index=%d != findex=%d or module=%d != fmodule=%d",
                 index,findex,module,fmodule);
    fTsignal += signal; // Keep track of sum signal.

    //    for(i=0;i<fgksize;i++) if( track==fTrack[i] && hit==fHits[i] ){
    for(i=0;i<fgksize;i++) if( track==fTrack[i]  ){
        fSignal[i] += signal;
        flg = kTRUE;
    } // end for i & if.
    //cout << "track="<<track<<endl;
    if(flg){ // resort arrays.  
        for(i=1;i<fgksize;i++){
            j = i;
            while(j>0 && fSignal[j]>fSignal[j-1]){
                trk = fTrack[j-1];
                hts = fHits[j-1];
                sig = fSignal[j-1];
                fTrack[j-1]  = fTrack[j];
                fHits[j-1]   = fHits[j];
                fSignal[j-1] = fSignal[j];                
                fTrack[j]  = trk;
                fHits[j]   = hts;
                fSignal[j] = sig;
		//cout << "#fTrack["<<j-1<<"]="<<fTrack[j-1]<< " fTrack["<<
		// j<<"]="<<fTrack[j]<<endl;
                j--;
            } // end while
        } // end if i
        return;
    } // end if added to existing and resorted array

    // new entry add it in order.
    // if this signal is <= smallest then don't add it.
    if(signal <= fSignal[fgksize-1]) return;
    for(i=fgksize-2;i>=0;i--){
        if(signal > fSignal[i]){
            fSignal[i+1] = fSignal[i];
            fTrack[i+1]  = fTrack[i];
            fHits[i+1]   = fHits[i];
        }else{
            fSignal[i+1] = signal;
            fTrack[i+1]  = track;
            fHits[i+1]   = hit;
            return; // put it in the right place, now exit.
        } //  end if
	//cout << "$fTrack["<<i+1<<"]="<<fTrack[i+1]<< " fTrack["<<i<<"]="
	//<<fTrack[i]<< " fHits["<<i+1<<"]="<<fHits[i+1]<< " fHits["<<i<<"]="
	//<<fHits[i]<< " fSignal["<<i+1<<"]="<<fSignal[i+1]<< " fSignal["<<i
	//<<"]="<<fSignal[i]<<endl;
    } // end if; end for i
    // Still haven't found the right place. Must be at top of list.
    fSignal[0] = signal;
    fTrack[0]  = track;
    fHits[0]   = hit;
    //cout << "$fTrack["<<0<<"]="<<fTrack[0]<<" fHits["<<0<<"]="<<fHits[0]
    //<<" fSignal["<<0<<"]="<<fSignal[0]<<endl;
    return;
}
//______________________________________________________________________
void AliITSpListItem::AddNoise(Int_t module,Int_t index,Double_t noise){
    // Adds noise to this existing list.
    // Inputs:
    //    Int_t module   The module where this noise occurred
    //    Int_t index    The cell index where this noise occurred
    //    Double_t noise The value of the noise.
    // Outputs:
    //    none.
    // Return:
    //    none.

    if(findex!=index || fmodule!=module) 
        Warning("AddNoise","index=%d != findex=%d or module=%d != fmodule=%d",
            index,findex,module,fmodule);
    fNoise += noise; // Keep track of sum signal.
}
//______________________________________________________________________
void AliITSpListItem::AddSignalAfterElect(Int_t module,Int_t index,Double_t signal){
    // Adds signal after electronics to this existing list.
    // Inputs:
    //    Int_t module   The module where this noise occurred
    //    Int_t index    The cell index where this noise occurred
    //    Double_t signal The value of the signal.
    // Outputs:
    //    none.
    // Return:
    //    none.

    if(findex!=index || fmodule!=module) 
        Warning("AddSignalAfterElect","index=%d != findex=%d or module=%d "
		"!= fmodule=%d",index,findex,module,fmodule);
    fSignalAfterElect += signal; // Keep track of sum signal.
}
//______________________________________________________________________
void AliITSpListItem::Add(AliITSpListItem *pl){
    // Adds the contents of pl to this
    // pl could come from different module and index 
    // Inputs:
    //    AliITSpListItem *pl  an AliITSpListItem to be added to this class.
    // Outputs:
    //    none.
    // Return:
    //    none.
    Int_t i;
    Double_t sig  = 0.0;
    Double_t sigT = 0.0;

    for(i=0;i<pl->GetNsignals();i++){
        sig = pl->GetSignal(i); 
        if( sig <= 0.0 ) break; // no more signals
        AddSignal(pl->GetTrack(i),pl->GetHit(i),fmodule,findex,sig);
        sigT += sig;
    } // end for i
    fTsignal += (pl->fTsignal - sigT);
    fNoise   += pl->fNoise;
    return;
}
//______________________________________________________________________
void AliITSpListItem::AddTo(Int_t fileIndex,AliITSpListItem *pl){
    // Adds the contents of pl to this with track number off set given by
    // fileIndex.
    // Inputs:
    //    Int_t fileIndex      track number offset value
    //    AliITSpListItem *pl  an AliITSpListItem to be added to this class.
    // Outputs:
    //    none.
    // Return:
    //    none.
    Int_t i,trk;
    Double_t sig  = 0.0;

    Int_t module = pl->GetModule();
    Int_t index  = pl->GetIndex();
    for(i=0;i<pl->GetNsignals();i++){
        sig = pl->GetSignal(i); 
        if( sig <= 0.0 ) break; // no more signals
        trk = pl->GetTrack(i);
        trk += fileIndex; 
        AddSignal(trk,pl->GetHit(i),module,index,sig);
    } // end for i
    fSignalAfterElect += (pl->fSignalAfterElect + pl->fNoise - fNoise);
    fNoise = pl->fNoise;
    return;
}
//______________________________________________________________________
Int_t AliITSpListItem::ShiftIndex(Int_t in,Int_t trk) const {
    // Shift an index number to occupy the upper four bits. No longer used.
    // Inputs:
    //    Int_t in   The file number
    //    Int_t trk  The track number
    // Outputs:
    //    none.
    // Return:
    //    Int_t The track number with the file number in the upper bits.
    Int_t si = sizeof(Int_t) * 8;
    UInt_t uin,utrk; // use UInt_t to avoid interger overflow-> goes negative.

    uin = in;
    utrk = trk;
    for(Int_t i=0;i<si-4;i++) uin *= 2;
    uin += utrk;
    in = uin;
    return in;
}
//______________________________________________________________________
void AliITSpListItem::Print(ostream *os) const {
    //Standard output format for this class
    // Inputs:
    //    ostream *os  The output stream
    // Outputs:
    //    none.
    // Return:
    //    none.
    Int_t i;

    *os << fmodule <<","<<findex<<",";
    *os << fgksize <<",";
    for(i=0;i<fgksize;i++) *os << fTrack[i] <<",";
    for(i=0;i<fgksize;i++) *os << fHits[i] <<",";
    for(i=0;i<fgksize;i++) *os << fSignal[i] <<",";
    *os << fTsignal <<","<< fNoise << "," << fSignalAfterElect;
}
//______________________________________________________________________
void AliITSpListItem::Read(istream *is){
    // Standard output streaming function.
    // Inputs:
    //    istream *is The input stream
    // Outputs:
    //    none.
    // Return:
    //    none.
    Int_t i,iss;

    *is >> fmodule >> findex;
    *is >> iss; // read in fgksize
    for(i=0;i<fgksize&&i<iss;i++) *is >> fTrack[i];
    for(i=0;i<fgksize&&i<iss;i++) *is >> fHits[i];
    for(i=0;i<fgksize&&i<iss;i++) *is >> fSignal[i];
    *is >> fTsignal >> fNoise >> fSignalAfterElect;
}
//______________________________________________________________________
ostream &operator<<(ostream &os,AliITSpListItem &source){
    // Standard output streaming function.
    // Inputs:
    //    ostream &os             The output stream
    //    AliITSpListItem &source The AliITSpListItem object to be written out.
    // Outputs:
    //    none.
    // Return:
    //    ostream  The output stream

    source.Print(&os);
    return os;
}
//______________________________________________________________________
istream &operator>>(istream &os,AliITSpListItem &source){
    // Standard output streaming function.
    // Inputs:
    //    istream os              The input stream
    //    AliITSpListItem &source The AliITSpListItem object to be inputted
    // Outputs:
    //    none.
    // Return:
    //    istream The input stream.

    source.Read(&os);
    return os;
}
 AliITSpListItem.cxx:1
 AliITSpListItem.cxx:2
 AliITSpListItem.cxx:3
 AliITSpListItem.cxx:4
 AliITSpListItem.cxx:5
 AliITSpListItem.cxx:6
 AliITSpListItem.cxx:7
 AliITSpListItem.cxx:8
 AliITSpListItem.cxx:9
 AliITSpListItem.cxx:10
 AliITSpListItem.cxx:11
 AliITSpListItem.cxx:12
 AliITSpListItem.cxx:13
 AliITSpListItem.cxx:14
 AliITSpListItem.cxx:15
 AliITSpListItem.cxx:16
 AliITSpListItem.cxx:17
 AliITSpListItem.cxx:18
 AliITSpListItem.cxx:19
 AliITSpListItem.cxx:20
 AliITSpListItem.cxx:21
 AliITSpListItem.cxx:22
 AliITSpListItem.cxx:23
 AliITSpListItem.cxx:24
 AliITSpListItem.cxx:25
 AliITSpListItem.cxx:26
 AliITSpListItem.cxx:27
 AliITSpListItem.cxx:28
 AliITSpListItem.cxx:29
 AliITSpListItem.cxx:30
 AliITSpListItem.cxx:31
 AliITSpListItem.cxx:32
 AliITSpListItem.cxx:33
 AliITSpListItem.cxx:34
 AliITSpListItem.cxx:35
 AliITSpListItem.cxx:36
 AliITSpListItem.cxx:37
 AliITSpListItem.cxx:38
 AliITSpListItem.cxx:39
 AliITSpListItem.cxx:40
 AliITSpListItem.cxx:41
 AliITSpListItem.cxx:42
 AliITSpListItem.cxx:43
 AliITSpListItem.cxx:44
 AliITSpListItem.cxx:45
 AliITSpListItem.cxx:46
 AliITSpListItem.cxx:47
 AliITSpListItem.cxx:48
 AliITSpListItem.cxx:49
 AliITSpListItem.cxx:50
 AliITSpListItem.cxx:51
 AliITSpListItem.cxx:52
 AliITSpListItem.cxx:53
 AliITSpListItem.cxx:54
 AliITSpListItem.cxx:55
 AliITSpListItem.cxx:56
 AliITSpListItem.cxx:57
 AliITSpListItem.cxx:58
 AliITSpListItem.cxx:59
 AliITSpListItem.cxx:60
 AliITSpListItem.cxx:61
 AliITSpListItem.cxx:62
 AliITSpListItem.cxx:63
 AliITSpListItem.cxx:64
 AliITSpListItem.cxx:65
 AliITSpListItem.cxx:66
 AliITSpListItem.cxx:67
 AliITSpListItem.cxx:68
 AliITSpListItem.cxx:69
 AliITSpListItem.cxx:70
 AliITSpListItem.cxx:71
 AliITSpListItem.cxx:72
 AliITSpListItem.cxx:73
 AliITSpListItem.cxx:74
 AliITSpListItem.cxx:75
 AliITSpListItem.cxx:76
 AliITSpListItem.cxx:77
 AliITSpListItem.cxx:78
 AliITSpListItem.cxx:79
 AliITSpListItem.cxx:80
 AliITSpListItem.cxx:81
 AliITSpListItem.cxx:82
 AliITSpListItem.cxx:83
 AliITSpListItem.cxx:84
 AliITSpListItem.cxx:85
 AliITSpListItem.cxx:86
 AliITSpListItem.cxx:87
 AliITSpListItem.cxx:88
 AliITSpListItem.cxx:89
 AliITSpListItem.cxx:90
 AliITSpListItem.cxx:91
 AliITSpListItem.cxx:92
 AliITSpListItem.cxx:93
 AliITSpListItem.cxx:94
 AliITSpListItem.cxx:95
 AliITSpListItem.cxx:96
 AliITSpListItem.cxx:97
 AliITSpListItem.cxx:98
 AliITSpListItem.cxx:99
 AliITSpListItem.cxx:100
 AliITSpListItem.cxx:101
 AliITSpListItem.cxx:102
 AliITSpListItem.cxx:103
 AliITSpListItem.cxx:104
 AliITSpListItem.cxx:105
 AliITSpListItem.cxx:106
 AliITSpListItem.cxx:107
 AliITSpListItem.cxx:108
 AliITSpListItem.cxx:109
 AliITSpListItem.cxx:110
 AliITSpListItem.cxx:111
 AliITSpListItem.cxx:112
 AliITSpListItem.cxx:113
 AliITSpListItem.cxx:114
 AliITSpListItem.cxx:115
 AliITSpListItem.cxx:116
 AliITSpListItem.cxx:117
 AliITSpListItem.cxx:118
 AliITSpListItem.cxx:119
 AliITSpListItem.cxx:120
 AliITSpListItem.cxx:121
 AliITSpListItem.cxx:122
 AliITSpListItem.cxx:123
 AliITSpListItem.cxx:124
 AliITSpListItem.cxx:125
 AliITSpListItem.cxx:126
 AliITSpListItem.cxx:127
 AliITSpListItem.cxx:128
 AliITSpListItem.cxx:129
 AliITSpListItem.cxx:130
 AliITSpListItem.cxx:131
 AliITSpListItem.cxx:132
 AliITSpListItem.cxx:133
 AliITSpListItem.cxx:134
 AliITSpListItem.cxx:135
 AliITSpListItem.cxx:136
 AliITSpListItem.cxx:137
 AliITSpListItem.cxx:138
 AliITSpListItem.cxx:139
 AliITSpListItem.cxx:140
 AliITSpListItem.cxx:141
 AliITSpListItem.cxx:142
 AliITSpListItem.cxx:143
 AliITSpListItem.cxx:144
 AliITSpListItem.cxx:145
 AliITSpListItem.cxx:146
 AliITSpListItem.cxx:147
 AliITSpListItem.cxx:148
 AliITSpListItem.cxx:149
 AliITSpListItem.cxx:150
 AliITSpListItem.cxx:151
 AliITSpListItem.cxx:152
 AliITSpListItem.cxx:153
 AliITSpListItem.cxx:154
 AliITSpListItem.cxx:155
 AliITSpListItem.cxx:156
 AliITSpListItem.cxx:157
 AliITSpListItem.cxx:158
 AliITSpListItem.cxx:159
 AliITSpListItem.cxx:160
 AliITSpListItem.cxx:161
 AliITSpListItem.cxx:162
 AliITSpListItem.cxx:163
 AliITSpListItem.cxx:164
 AliITSpListItem.cxx:165
 AliITSpListItem.cxx:166
 AliITSpListItem.cxx:167
 AliITSpListItem.cxx:168
 AliITSpListItem.cxx:169
 AliITSpListItem.cxx:170
 AliITSpListItem.cxx:171
 AliITSpListItem.cxx:172
 AliITSpListItem.cxx:173
 AliITSpListItem.cxx:174
 AliITSpListItem.cxx:175
 AliITSpListItem.cxx:176
 AliITSpListItem.cxx:177
 AliITSpListItem.cxx:178
 AliITSpListItem.cxx:179
 AliITSpListItem.cxx:180
 AliITSpListItem.cxx:181
 AliITSpListItem.cxx:182
 AliITSpListItem.cxx:183
 AliITSpListItem.cxx:184
 AliITSpListItem.cxx:185
 AliITSpListItem.cxx:186
 AliITSpListItem.cxx:187
 AliITSpListItem.cxx:188
 AliITSpListItem.cxx:189
 AliITSpListItem.cxx:190
 AliITSpListItem.cxx:191
 AliITSpListItem.cxx:192
 AliITSpListItem.cxx:193
 AliITSpListItem.cxx:194
 AliITSpListItem.cxx:195
 AliITSpListItem.cxx:196
 AliITSpListItem.cxx:197
 AliITSpListItem.cxx:198
 AliITSpListItem.cxx:199
 AliITSpListItem.cxx:200
 AliITSpListItem.cxx:201
 AliITSpListItem.cxx:202
 AliITSpListItem.cxx:203
 AliITSpListItem.cxx:204
 AliITSpListItem.cxx:205
 AliITSpListItem.cxx:206
 AliITSpListItem.cxx:207
 AliITSpListItem.cxx:208
 AliITSpListItem.cxx:209
 AliITSpListItem.cxx:210
 AliITSpListItem.cxx:211
 AliITSpListItem.cxx:212
 AliITSpListItem.cxx:213
 AliITSpListItem.cxx:214
 AliITSpListItem.cxx:215
 AliITSpListItem.cxx:216
 AliITSpListItem.cxx:217
 AliITSpListItem.cxx:218
 AliITSpListItem.cxx:219
 AliITSpListItem.cxx:220
 AliITSpListItem.cxx:221
 AliITSpListItem.cxx:222
 AliITSpListItem.cxx:223
 AliITSpListItem.cxx:224
 AliITSpListItem.cxx:225
 AliITSpListItem.cxx:226
 AliITSpListItem.cxx:227
 AliITSpListItem.cxx:228
 AliITSpListItem.cxx:229
 AliITSpListItem.cxx:230
 AliITSpListItem.cxx:231
 AliITSpListItem.cxx:232
 AliITSpListItem.cxx:233
 AliITSpListItem.cxx:234
 AliITSpListItem.cxx:235
 AliITSpListItem.cxx:236
 AliITSpListItem.cxx:237
 AliITSpListItem.cxx:238
 AliITSpListItem.cxx:239
 AliITSpListItem.cxx:240
 AliITSpListItem.cxx:241
 AliITSpListItem.cxx:242
 AliITSpListItem.cxx:243
 AliITSpListItem.cxx:244
 AliITSpListItem.cxx:245
 AliITSpListItem.cxx:246
 AliITSpListItem.cxx:247
 AliITSpListItem.cxx:248
 AliITSpListItem.cxx:249
 AliITSpListItem.cxx:250
 AliITSpListItem.cxx:251
 AliITSpListItem.cxx:252
 AliITSpListItem.cxx:253
 AliITSpListItem.cxx:254
 AliITSpListItem.cxx:255
 AliITSpListItem.cxx:256
 AliITSpListItem.cxx:257
 AliITSpListItem.cxx:258
 AliITSpListItem.cxx:259
 AliITSpListItem.cxx:260
 AliITSpListItem.cxx:261
 AliITSpListItem.cxx:262
 AliITSpListItem.cxx:263
 AliITSpListItem.cxx:264
 AliITSpListItem.cxx:265
 AliITSpListItem.cxx:266
 AliITSpListItem.cxx:267
 AliITSpListItem.cxx:268
 AliITSpListItem.cxx:269
 AliITSpListItem.cxx:270
 AliITSpListItem.cxx:271
 AliITSpListItem.cxx:272
 AliITSpListItem.cxx:273
 AliITSpListItem.cxx:274
 AliITSpListItem.cxx:275
 AliITSpListItem.cxx:276
 AliITSpListItem.cxx:277
 AliITSpListItem.cxx:278
 AliITSpListItem.cxx:279
 AliITSpListItem.cxx:280
 AliITSpListItem.cxx:281
 AliITSpListItem.cxx:282
 AliITSpListItem.cxx:283
 AliITSpListItem.cxx:284
 AliITSpListItem.cxx:285
 AliITSpListItem.cxx:286
 AliITSpListItem.cxx:287
 AliITSpListItem.cxx:288
 AliITSpListItem.cxx:289
 AliITSpListItem.cxx:290
 AliITSpListItem.cxx:291
 AliITSpListItem.cxx:292
 AliITSpListItem.cxx:293
 AliITSpListItem.cxx:294
 AliITSpListItem.cxx:295
 AliITSpListItem.cxx:296
 AliITSpListItem.cxx:297
 AliITSpListItem.cxx:298
 AliITSpListItem.cxx:299
 AliITSpListItem.cxx:300
 AliITSpListItem.cxx:301
 AliITSpListItem.cxx:302
 AliITSpListItem.cxx:303
 AliITSpListItem.cxx:304
 AliITSpListItem.cxx:305
 AliITSpListItem.cxx:306
 AliITSpListItem.cxx:307
 AliITSpListItem.cxx:308
 AliITSpListItem.cxx:309
 AliITSpListItem.cxx:310
 AliITSpListItem.cxx:311
 AliITSpListItem.cxx:312
 AliITSpListItem.cxx:313
 AliITSpListItem.cxx:314
 AliITSpListItem.cxx:315
 AliITSpListItem.cxx:316
 AliITSpListItem.cxx:317
 AliITSpListItem.cxx:318
 AliITSpListItem.cxx:319
 AliITSpListItem.cxx:320
 AliITSpListItem.cxx:321
 AliITSpListItem.cxx:322
 AliITSpListItem.cxx:323
 AliITSpListItem.cxx:324
 AliITSpListItem.cxx:325
 AliITSpListItem.cxx:326
 AliITSpListItem.cxx:327
 AliITSpListItem.cxx:328
 AliITSpListItem.cxx:329
 AliITSpListItem.cxx:330
 AliITSpListItem.cxx:331
 AliITSpListItem.cxx:332
 AliITSpListItem.cxx:333
 AliITSpListItem.cxx:334
 AliITSpListItem.cxx:335
 AliITSpListItem.cxx:336
 AliITSpListItem.cxx:337
 AliITSpListItem.cxx:338
 AliITSpListItem.cxx:339
 AliITSpListItem.cxx:340
 AliITSpListItem.cxx:341
 AliITSpListItem.cxx:342
 AliITSpListItem.cxx:343
 AliITSpListItem.cxx:344
 AliITSpListItem.cxx:345
 AliITSpListItem.cxx:346
 AliITSpListItem.cxx:347
 AliITSpListItem.cxx:348
 AliITSpListItem.cxx:349
 AliITSpListItem.cxx:350
 AliITSpListItem.cxx:351
 AliITSpListItem.cxx:352
 AliITSpListItem.cxx:353
 AliITSpListItem.cxx:354
 AliITSpListItem.cxx:355
 AliITSpListItem.cxx:356
 AliITSpListItem.cxx:357
 AliITSpListItem.cxx:358
 AliITSpListItem.cxx:359
 AliITSpListItem.cxx:360
 AliITSpListItem.cxx:361
 AliITSpListItem.cxx:362
 AliITSpListItem.cxx:363
 AliITSpListItem.cxx:364
 AliITSpListItem.cxx:365
 AliITSpListItem.cxx:366
 AliITSpListItem.cxx:367
 AliITSpListItem.cxx:368
 AliITSpListItem.cxx:369
 AliITSpListItem.cxx:370
 AliITSpListItem.cxx:371
 AliITSpListItem.cxx:372
 AliITSpListItem.cxx:373
 AliITSpListItem.cxx:374
 AliITSpListItem.cxx:375
 AliITSpListItem.cxx:376
 AliITSpListItem.cxx:377
 AliITSpListItem.cxx:378
 AliITSpListItem.cxx:379
 AliITSpListItem.cxx:380
 AliITSpListItem.cxx:381
 AliITSpListItem.cxx:382
 AliITSpListItem.cxx:383
 AliITSpListItem.cxx:384
 AliITSpListItem.cxx:385
 AliITSpListItem.cxx:386
 AliITSpListItem.cxx:387
 AliITSpListItem.cxx:388
 AliITSpListItem.cxx:389
 AliITSpListItem.cxx:390
 AliITSpListItem.cxx:391
 AliITSpListItem.cxx:392
 AliITSpListItem.cxx:393
 AliITSpListItem.cxx:394
 AliITSpListItem.cxx:395
 AliITSpListItem.cxx:396
 AliITSpListItem.cxx:397
 AliITSpListItem.cxx:398
 AliITSpListItem.cxx:399
 AliITSpListItem.cxx:400
 AliITSpListItem.cxx:401
 AliITSpListItem.cxx:402
 AliITSpListItem.cxx:403
 AliITSpListItem.cxx:404
 AliITSpListItem.cxx:405
 AliITSpListItem.cxx:406
 AliITSpListItem.cxx:407
 AliITSpListItem.cxx:408
 AliITSpListItem.cxx:409
 AliITSpListItem.cxx:410
 AliITSpListItem.cxx:411
 AliITSpListItem.cxx:412
 AliITSpListItem.cxx:413
 AliITSpListItem.cxx:414
 AliITSpListItem.cxx:415
 AliITSpListItem.cxx:416
 AliITSpListItem.cxx:417
 AliITSpListItem.cxx:418
 AliITSpListItem.cxx:419
 AliITSpListItem.cxx:420
 AliITSpListItem.cxx:421
 AliITSpListItem.cxx:422
 AliITSpListItem.cxx:423
 AliITSpListItem.cxx:424
 AliITSpListItem.cxx:425
 AliITSpListItem.cxx:426
 AliITSpListItem.cxx:427
 AliITSpListItem.cxx:428
 AliITSpListItem.cxx:429
 AliITSpListItem.cxx:430
 AliITSpListItem.cxx:431
 AliITSpListItem.cxx:432
 AliITSpListItem.cxx:433
 AliITSpListItem.cxx:434
 AliITSpListItem.cxx:435
 AliITSpListItem.cxx:436
 AliITSpListItem.cxx:437
 AliITSpListItem.cxx:438
 AliITSpListItem.cxx:439
 AliITSpListItem.cxx:440
 AliITSpListItem.cxx:441
 AliITSpListItem.cxx:442
 AliITSpListItem.cxx:443
 AliITSpListItem.cxx:444
 AliITSpListItem.cxx:445
 AliITSpListItem.cxx:446
 AliITSpListItem.cxx:447
 AliITSpListItem.cxx:448
 AliITSpListItem.cxx:449
 AliITSpListItem.cxx:450
 AliITSpListItem.cxx:451
 AliITSpListItem.cxx:452
 AliITSpListItem.cxx:453
 AliITSpListItem.cxx:454
 AliITSpListItem.cxx:455
 AliITSpListItem.cxx:456
 AliITSpListItem.cxx:457
 AliITSpListItem.cxx:458
 AliITSpListItem.cxx:459