X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TPC%2FAliSimDigits.cxx;h=6340493a62daa9c81edadd66998f64c0f10d02c9;hb=15b67cdc1418e981f58a77cab4c8e0bcccd09790;hp=c57d6662c438098b391925d97da5167a7a17cb25;hpb=3789f4fd13282beed71611f4a0f22240f4984854;p=u%2Fmrichter%2FAliRoot.git diff --git a/TPC/AliSimDigits.cxx b/TPC/AliSimDigits.cxx index c57d6662c43..6340493a62d 100644 --- a/TPC/AliSimDigits.cxx +++ b/TPC/AliSimDigits.cxx @@ -30,8 +30,7 @@ #include "TError.h" #include "AliSegmentID.h" #include "AliH2F.h" -#include "AliArrayI.h" -#include "AliArrayS.h" +#include "TArrayI.h" #include "AliDigits.h" #include "AliSimDigits.h" #include "AliTPCdigit.h" @@ -45,12 +44,30 @@ ClassImp(AliSimDigits) AliSimDigits::AliSimDigits() + :AliDigits(), + fTracks(0), + fTrIndex(0), + fNlevel(0), + fTrBufType(0) { // AliDigits::Invalite(); - fTracks = 0; - fTrIndex = 0; + InvalidateTrack(); } +// +AliSimDigits::AliSimDigits(const AliSimDigits ¶m) + :AliDigits(), + fTracks(0), + fTrIndex(0), + fNlevel(0), + fTrBufType(0) +{ + // + // dummy + // + fTrIndex = param.fTrIndex; +} +// AliSimDigits::~AliSimDigits() { @@ -62,15 +79,24 @@ AliSimDigits::~AliSimDigits() } } +AliSimDigits & AliSimDigits::operator =(const AliSimDigits & param) +{ + // + // assignment operator - dummy + // + fTrIndex=param.fTrIndex; + return (*this); +} +//__________________________________________________________________ void AliSimDigits::InvalidateTrack() { // //set default (invalid parameters) if ( fTracks != 0) delete fTracks; - fTracks = new AliArrayI; + fTracks = new TArrayI; if ( fTrIndex != 0) delete fTrIndex; - fTrIndex = new AliArrayI; + fTrIndex = new TArrayI; for (Int_t i = 0; i<3; i++){ fTracks->Set(0); @@ -187,7 +213,7 @@ void AliSimDigits::ExpandTrackBuffer1() Int_t all = fNrows*fNcols; //total number of digits Int_t elems = all*fNlevel; //length of the buffer - AliArrayI * buf = new AliArrayI; + TArrayI * buf = new TArrayI; buf->Set(elems); fTrIndex->Set(0); // @@ -228,9 +254,9 @@ void AliSimDigits::CompresTrackBuffer1() // fTrBufType = 1; - AliArrayI * buf = new AliArrayI; //create new buffer + TArrayI * buf = new TArrayI; //create new buffer buf->Set(fNrows*fNcols*fNlevel); //lets have the nearly the "worst case" - AliArrayI * index = new AliArrayI; + TArrayI * index = new TArrayI; index->Set(fNcols*fNlevel); // Int_t * pindex = @@ -255,7 +281,7 @@ void AliSimDigits::CompresTrackBuffer1() if (id <= 0) { if ( inum> 0 ) { //if we have some tracks in buffer icurrent++; - if ((icurrent+1)>=buf->fN) buf->Expand(icurrent*2+1); //MI change - allocate +1 + if ((icurrent+1)>=buf->fN) buf->Set(icurrent*2+1); //MI change - allocate +1 (*buf)[icurrent] = inum; icurrent++; (*buf)[icurrent] = lastID; @@ -269,7 +295,7 @@ void AliSimDigits::CompresTrackBuffer1() if ( izero > 0 ) { //if we have currently izero count of non tracks digits icurrent++; - if (icurrent>=buf->fN) buf->Expand(icurrent*2+1); + if (icurrent>=buf->fN) buf->Set(icurrent*2+1); (*buf)[icurrent]= -izero; //write how many under zero inum++; izero = 0; @@ -278,7 +304,7 @@ void AliSimDigits::CompresTrackBuffer1() else{ //if we change track id from another track id icurrent++; - if ((icurrent+1)>=buf->fN) buf->Expand(icurrent*2+1); + if ((icurrent+1)>=buf->fN) buf->Set(icurrent*2+1); (*buf)[icurrent] = inum; icurrent++; (*buf)[icurrent] = lastID; @@ -294,19 +320,19 @@ void AliSimDigits::CompresTrackBuffer1() if ( izero > 0 ) { //if we have currently izero count of non tracks digits icurrent++; - if (icurrent>=buf->fN) buf->Expand(icurrent*2); + if (icurrent>=buf->fN) buf->Set(icurrent*2); (*buf)[icurrent]= -izero; //write how many under zero } if ( inum> 0 ) { //if we have some tracks in buffer icurrent++; - if ((icurrent+1)>=buf->fN) buf->Expand(icurrent*2); + if ((icurrent+1)>=buf->fN) buf->Set(icurrent*2); (*buf)[icurrent] = inum; icurrent++; (*buf)[icurrent] = id; } }//end of loop over columns }//end of loop over differnet track level - buf->Expand(icurrent+1); + buf->Set(icurrent+1); delete fTracks; fTracks = buf; delete fTrIndex;