X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSdigit.cxx;h=1689dc8367ab87947f6ee7bdcef32f09531a6bc9;hb=af730ce7691c942cd93bc1e8110fcfc9e72a3b50;hp=80c9dbfcccd39b7416eaa7e1b10f35f60bb5e026;hpb=ac74f489d065b3e59af328b0b5ffb403fa6de594;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSdigit.cxx b/ITS/AliITSdigit.cxx index 80c9dbfcccd..1689dc8367a 100644 --- a/ITS/AliITSdigit.cxx +++ b/ITS/AliITSdigit.cxx @@ -1,5 +1,5 @@ /************************************************************************** - * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * + * Copyright(c) 2004-2006, ALICE Experiment at CERN, All rights reserved. * * * * Author: The ALICE Off-line Project. * * Contributors are mentioned in the code where appropriate. * @@ -17,416 +17,62 @@ //////////////////////////////////////////////// // Digits classes for all ITS detectors // +// // +// // //////////////////////////////////////////////// -#include -#include -#include -#include -#include "AliITSdigit.h" - -//______________________________________________________________________ -ClassImp(AliITSdigit) -AliITSdigit::AliITSdigit(const Int_t *digits) { - // Creates a real data digit object - - fCoord1 = digits[0]; - fCoord2 = digits[1]; - fSignal = digits[2]; -} -//______________________________________________________________________ -void AliITSdigit::Print(ostream *os){ - //Standard output format for this class - - *os << fCoord1 <<","<< fCoord2 <<","<< fSignal; -} -//______________________________________________________________________ -void AliITSdigit::Read(istream *os){ - //Standard input for this class - - *os >> fCoord1 >> fCoord2 >> fSignal; -} -//______________________________________________________________________ -ostream &operator<<(ostream &os,AliITSdigit &source){ - // Standard output streaming function. - - source.Print(&os); - return os; -} -//______________________________________________________________________ -istream &operator>>(istream &os,AliITSdigit &source){ - // Standard output streaming function. - - source.Read(&os); - return os; -} -//______________________________________________________________________ -ClassImp(AliITSdigitSPD) -AliITSdigitSPD::AliITSdigitSPD():AliITSdigit(){ - // default constructor, zero coordinates and set array - // elements to clearly unphysical values. A value of 0 may - // be a valide track of hit number. - Int_t i; - - for(i=0;iGetNTracks(); - Int_t n = 0,i,j; - Bool_t inlist = kFALSE; - - t.Reset(-1); // -1 array. - for(i=0;iGetTrack(i) == -1) continue; - inlist = kFALSE; - for(j=0;jGetTrack(i) == t.At(j)) inlist = kTRUE; - if(!inlist){ // add to end of list - t.AddAt(this->GetTrack(i),n); - if(n> fTracks[i]; - for(i=0;i> fHits[i]; - *os >> fSignalSPD; -} -//______________________________________________________________________ -ostream &operator<<(ostream &os,AliITSdigitSPD &source){ - // Standard output streaming function. - - source.Print(&os); - return os; -} -//______________________________________________________________________ -istream &operator>>(istream &os,AliITSdigitSPD &source){ - // Standard output streaming function. - - source.Read(&os); - return os; -} -//______________________________________________________________________ -ClassImp(AliITSdigitSDD) -AliITSdigitSDD::AliITSdigitSDD():AliITSdigit(){ - // default constructor, zero coordinates and set array - // elements to clearly unphysical values. A value of 0 may - // be a valide track of hit number. - Int_t i; - for(i=0;iGetNTracks(); - Int_t n = 0,i,j; - Bool_t inlist = kFALSE; - - t.Reset(-1); // -1 array. - c.Reset(0.0); // zero array. - for(i=0;iGetTrack(i) == -1) continue; - inlist = kFALSE; - for(j=0;jGetTrack(i) == t.At(j)){ - inlist = kTRUE; - c.AddAt(this->GetCharge(i)+c.At(j),j); - } // end for j/end if - if(!inlist){ // add to end of list - t.AddAt(this->GetTrack(i),n); - c.AddAt(this->GetCharge(i),n); - if(n-1 && c.At(j)>ch){ - t.AddAt(t.At(j+1),j); - c.AddAt(c.At(j+1),j); - j--; - } // end while - t.AddAt(tr,j+1); - c.AddAt(ch,j+1); - } // end for i - // - return n; +AliITSdigit::AliITSdigit(): +fCoord1(0), +fCoord2(0), +fSignal(0){ + //default constructor. zero all values. + for(Int_t i=0;i>fPhysics; - for(i=0; i> fTcharges[i]; - for(i=0; i> fTracks[i]; - for(i=0; i> fHits[i]; -} -//______________________________________________________________________ -ostream &operator<<(ostream &os,AliITSdigitSDD &source){ - // Standard output streaming function. +AliITSdigit::AliITSdigit(const Int_t *digits): +fCoord1(digits[0]), +fCoord2(digits[1]), +fSignal(digits[2]){ + // Creates a real data digit object + for(Int_t i=0;i>(istream &os,AliITSdigitSDD &source){ - // Standard output streaming function. - source.Read(&os); - return os; } //______________________________________________________________________ -ClassImp(AliITSTransientDigit) -AliITSTransientDigit::AliITSTransientDigit(Float_t phys,const Int_t *digits): - AliITSdigitSDD(phys,digits) { - // Creates a digit object in a list of digits to be updated - - fTrackList = new TObjArray; -} -//__________________________________________________________________________ -AliITSTransientDigit::AliITSTransientDigit(const AliITSTransientDigit &source): - AliITSdigitSDD(source){ - // Copy Constructor - if(&source == this) return; - this->fTrackList = source.fTrackList; - return; -} -//_________________________________________________________________________ -AliITSTransientDigit& AliITSTransientDigit::operator=( - const AliITSTransientDigit &source) { - // Assignment operator - if(&source == this) return *this; - this->fTrackList = source.fTrackList; - return *this; -} -//______________________________________________________________________ -void AliITSTransientDigit::Print(ostream *os){ +void AliITSdigit::Print(ostream *os) { //Standard output format for this class - AliITSdigitSDD::Print(os); + *os << fCoord1 <<","<< fCoord2 <<","<< fSignal; } //______________________________________________________________________ -void AliITSTransientDigit::Read(istream *os){ +void AliITSdigit::Read(istream *os) { //Standard input for this class - AliITSdigitSDD::Read(os); + *os >> fCoord1 >> fCoord2 >> fSignal; } //______________________________________________________________________ -ostream &operator<<(ostream &os,AliITSTransientDigit &source){ +ostream &operator<<(ostream &os,AliITSdigit &source){ // Standard output streaming function. source.Print(&os); return os; } //______________________________________________________________________ -istream &operator>>(istream &os,AliITSTransientDigit &source){ +istream &operator>>(istream &os,AliITSdigit &source){ // Standard output streaming function. source.Read(&os); return os; } -//______________________________________________________________________ -ClassImp(AliITSdigitSSD) -AliITSdigitSSD::AliITSdigitSSD():AliITSdigit(){ - // default constructor - Int_t i; - - for(i=0; iGetNTracks(); - Int_t n = 0,i,j; - Bool_t inlist = kFALSE; - - t.Reset(-1); // -1 array. - for(i=0;iGetTrack(i) == -1) continue; - inlist = kFALSE; - for(j=0;jGetTrack(i) == t.At(j)) inlist = kTRUE; - if(!inlist){ // add to end of list - t.AddAt(this->GetTrack(i),n); - if(n> fTracks[i]; - for(i=0; i> fHits[i]; -} -//______________________________________________________________________ -ostream &operator<<(ostream &os,AliITSdigitSSD &source){ - // Standard output streaming function. - source.Print(&os); - return os; -} -//______________________________________________________________________ -istream &operator>>(istream &os,AliITSdigitSSD &source){ - // Standard output streaming function. - - source.Read(&os); - return os; -}