X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSDriftSpeedArraySDD.cxx;h=9ea9ef08d2f2b9e7f5ba4b447cf343e5461edb45;hb=3a282863bcc86e188d6f4d7697c46efef2facbbd;hp=6e9264049a272aa9d8e483e3e355917b59b124ec;hpb=18da6e540fc338be853169fd8cb89eb51b309ec6;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSDriftSpeedArraySDD.cxx b/ITS/AliITSDriftSpeedArraySDD.cxx index 6e9264049a2..9ea9ef08d2f 100644 --- a/ITS/AliITSDriftSpeedArraySDD.cxx +++ b/ITS/AliITSDriftSpeedArraySDD.cxx @@ -22,7 +22,6 @@ // // /////////////////////////////////////////////////////////////////// -#include #include "AliITSDriftSpeedArraySDD.h" #include "AliITSDriftSpeedSDD.h" #include "AliLog.h" @@ -32,66 +31,50 @@ ClassImp(AliITSDriftSpeedArraySDD) AliITSDriftSpeedArraySDD::AliITSDriftSpeedArraySDD(): TObject(), fNEvents(0), -fDriftSpeedSDD(0){ +fDriftSpeedSDD(10), +fInjectorStatus(0x3E000000){ // default constructor - fDriftSpeedSDD=new TClonesArray("AliITSDriftSpeedSDD",100); } //______________________________________________________________________ AliITSDriftSpeedArraySDD::AliITSDriftSpeedArraySDD(Int_t numEv): TObject(), fNEvents(0), -fDriftSpeedSDD(0){ +fDriftSpeedSDD(numEv), +fInjectorStatus(0x3E000000){ // standard constructor - fDriftSpeedSDD=new TClonesArray("AliITSDriftSpeedSDD",numEv); -} -//______________________________________________________________________ -AliITSDriftSpeedArraySDD::AliITSDriftSpeedArraySDD(const AliITSDriftSpeedArraySDD& array): -TObject(), -fNEvents(array.fNEvents), -fDriftSpeedSDD(array.fDriftSpeedSDD){ - // copy constructor -} -//______________________________________________________________________ -AliITSDriftSpeedArraySDD& AliITSDriftSpeedArraySDD::operator=(const AliITSDriftSpeedArraySDD& array){ - // assignment operator - this->~AliITSDriftSpeedArraySDD(); - new(this) AliITSDriftSpeedArraySDD(array); - return *this; -} - -//______________________________________________________________________ -AliITSDriftSpeedArraySDD::~AliITSDriftSpeedArraySDD(){ - // destructor - if(fDriftSpeedSDD){ - fDriftSpeedSDD->Delete(); - delete fDriftSpeedSDD; - } } //______________________________________________________________________ void AliITSDriftSpeedArraySDD::AddDriftSpeed(AliITSDriftSpeedSDD* drSpeed){ // adds an AliITSDriftSpeedSDD object in the array - TClonesArray &arr = *fDriftSpeedSDD; - new(arr[fNEvents]) AliITSDriftSpeedSDD(*drSpeed); + fDriftSpeedSDD.AddLast(drSpeed); fNEvents++; - } //______________________________________________________________________ void AliITSDriftSpeedArraySDD::PrintAll() const{ // print drift speed parameters for all elements in the array - printf("Array Size=%d\n",fDriftSpeedSDD->GetSize()); + printf("Array Size=%d\n",fDriftSpeedSDD.GetSize()); printf("Array Elements =%d\n",fNEvents); + printf("Injector Status =%d\n",fInjectorStatus); for(Int_t i=0;iAt(i); + AliITSDriftSpeedSDD *d=(AliITSDriftSpeedSDD*)fDriftSpeedSDD.At(i); if(d) d->PrintDriftSpeedParameters(); } } //______________________________________________________________________ -Float_t AliITSDriftSpeedArraySDD::GetDriftSpeed(Int_t iEvent, Float_t iAnode) const{ +UInt_t AliITSDriftSpeedArraySDD::GetTimestamp(Int_t iElement){ + // returns time stamp + if(!fDriftSpeedSDD.IsSorted()) fDriftSpeedSDD.Sort(); + if(fNEventsGetEventTimestamp(); +} +//______________________________________________________________________ +Double_t AliITSDriftSpeedArraySDD::GetDriftSpeed(Int_t iEvent, Double_t iAnode){ // returns drift speed for given event number and anode - if(!fDriftSpeedSDD->IsSorted()) fDriftSpeedSDD->Sort(); + if(!fDriftSpeedSDD.IsSorted()) fDriftSpeedSDD.Sort(); if(fNEvents==1){ - AliITSDriftSpeedSDD *d=(AliITSDriftSpeedSDD*)fDriftSpeedSDD->At(0); + AliITSDriftSpeedSDD *d=(AliITSDriftSpeedSDD*)fDriftSpeedSDD.At(0); return d->GetDriftSpeedAtAnode(iAnode); }else{ Int_t nInjEv1=-1; @@ -100,21 +83,21 @@ Float_t AliITSDriftSpeedArraySDD::GetDriftSpeed(Int_t iEvent, Float_t iAnode) co AliITSDriftSpeedSDD *d2=NULL; for(Int_t i=0;iAt(i); + d2=(AliITSDriftSpeedSDD*)fDriftSpeedSDD.At(i); nInjEv1=nInjEv2; if(d2!=0){ nInjEv2=d2->GetEventNumber(); if(nInjEv2>=iEvent){ - if(i==0) d1=(AliITSDriftSpeedSDD*)fDriftSpeedSDD->At(i+1); + if(i==0) d1=(AliITSDriftSpeedSDD*)fDriftSpeedSDD.At(i+1); nInjEv1=d1->GetEventNumber(); break; } } } if(nInjEv1>=0 && nInjEv2>=0 && nInjEv1!=nInjEv2){ - Float_t v1=d1->GetDriftSpeedAtAnode(iAnode); - Float_t v2=d2->GetDriftSpeedAtAnode(iAnode); - Float_t vdrift=(v2-v1)*(iEvent-nInjEv1)/(nInjEv2-nInjEv1)+v1; + Double_t v1=d1->GetDriftSpeedAtAnode(iAnode); + Double_t v2=d2->GetDriftSpeedAtAnode(iAnode); + Double_t vdrift=(v2-v1)*(iEvent-nInjEv1)/(nInjEv2-nInjEv1)+v1; return vdrift; } }