#include "AliITSDriftSpeedArraySDD.h"
#include "AliITSDriftSpeedSDD.h"
#include "AliLog.h"
ClassImp(AliITSDriftSpeedArraySDD)
AliITSDriftSpeedArraySDD::AliITSDriftSpeedArraySDD():
TObject(),
fNEvents(0),
fDriftSpeedSDD(10),
fInjectorStatus(0x3E000000){
}
AliITSDriftSpeedArraySDD::AliITSDriftSpeedArraySDD(Int_t numEv):
TObject(),
fNEvents(0),
fDriftSpeedSDD(numEv),
fInjectorStatus(0x3E000000){
}
void AliITSDriftSpeedArraySDD::AddDriftSpeed(AliITSDriftSpeedSDD* drSpeed){
fDriftSpeedSDD.AddLast(drSpeed);
fNEvents++;
}
void AliITSDriftSpeedArraySDD::PrintAll() const{
printf("Array Size=%d\n",fDriftSpeedSDD.GetSize());
printf("Array Elements =%d\n",fNEvents);
printf("Injector Status =%d\n",fInjectorStatus);
for(Int_t i=0;i<fNEvents; i++){
printf(" ====== Array el. #%d ======\n",i);
AliITSDriftSpeedSDD *d=(AliITSDriftSpeedSDD*)fDriftSpeedSDD.At(i);
if(d) d->PrintDriftSpeedParameters();
}
}
UInt_t AliITSDriftSpeedArraySDD::GetTimestamp(Int_t iElement){
if(!fDriftSpeedSDD.IsSorted()) fDriftSpeedSDD.Sort();
if(fNEvents<iElement) return 0;
AliITSDriftSpeedSDD *d=(AliITSDriftSpeedSDD*)fDriftSpeedSDD.At(iElement);
return d->GetEventTimestamp();
}
Double_t AliITSDriftSpeedArraySDD::GetDriftSpeed(Int_t iEvent, Double_t iAnode){
if(!fDriftSpeedSDD.IsSorted()) fDriftSpeedSDD.Sort();
if(fNEvents==1){
AliITSDriftSpeedSDD *d=(AliITSDriftSpeedSDD*)fDriftSpeedSDD.At(0);
return d->GetDriftSpeedAtAnode(iAnode);
}else{
Int_t nInjEv1=-1;
Int_t nInjEv2=-1;
AliITSDriftSpeedSDD *d1=NULL;
AliITSDriftSpeedSDD *d2=NULL;
for(Int_t i=0;i<fNEvents; i++){
d1=d2;
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);
nInjEv1=d1->GetEventNumber();
break;
}
}
}
if(nInjEv1>=0 && nInjEv2>=0 && nInjEv1!=nInjEv2){
Double_t v1=d1->GetDriftSpeedAtAnode(iAnode);
Double_t v2=d2->GetDriftSpeedAtAnode(iAnode);
Double_t vdrift=(v2-v1)*(iEvent-nInjEv1)/(nInjEv2-nInjEv1)+v1;
return vdrift;
}
}
AliWarning("Vdrift interpolation error\n");
return -999.;
}
AliITSDriftSpeedArraySDD.cxx:1 AliITSDriftSpeedArraySDD.cxx:2 AliITSDriftSpeedArraySDD.cxx:3 AliITSDriftSpeedArraySDD.cxx:4 AliITSDriftSpeedArraySDD.cxx:5 AliITSDriftSpeedArraySDD.cxx:6 AliITSDriftSpeedArraySDD.cxx:7 AliITSDriftSpeedArraySDD.cxx:8 AliITSDriftSpeedArraySDD.cxx:9 AliITSDriftSpeedArraySDD.cxx:10 AliITSDriftSpeedArraySDD.cxx:11 AliITSDriftSpeedArraySDD.cxx:12 AliITSDriftSpeedArraySDD.cxx:13 AliITSDriftSpeedArraySDD.cxx:14 AliITSDriftSpeedArraySDD.cxx:15 AliITSDriftSpeedArraySDD.cxx:16 AliITSDriftSpeedArraySDD.cxx:17 AliITSDriftSpeedArraySDD.cxx:18 AliITSDriftSpeedArraySDD.cxx:19 AliITSDriftSpeedArraySDD.cxx:20 AliITSDriftSpeedArraySDD.cxx:21 AliITSDriftSpeedArraySDD.cxx:22 AliITSDriftSpeedArraySDD.cxx:23 AliITSDriftSpeedArraySDD.cxx:24 AliITSDriftSpeedArraySDD.cxx:25 AliITSDriftSpeedArraySDD.cxx:26 AliITSDriftSpeedArraySDD.cxx:27 AliITSDriftSpeedArraySDD.cxx:28 AliITSDriftSpeedArraySDD.cxx:29 AliITSDriftSpeedArraySDD.cxx:30 AliITSDriftSpeedArraySDD.cxx:31 AliITSDriftSpeedArraySDD.cxx:32 AliITSDriftSpeedArraySDD.cxx:33 AliITSDriftSpeedArraySDD.cxx:34 AliITSDriftSpeedArraySDD.cxx:35 AliITSDriftSpeedArraySDD.cxx:36 AliITSDriftSpeedArraySDD.cxx:37 AliITSDriftSpeedArraySDD.cxx:38 AliITSDriftSpeedArraySDD.cxx:39 AliITSDriftSpeedArraySDD.cxx:40 AliITSDriftSpeedArraySDD.cxx:41 AliITSDriftSpeedArraySDD.cxx:42 AliITSDriftSpeedArraySDD.cxx:43 AliITSDriftSpeedArraySDD.cxx:44 AliITSDriftSpeedArraySDD.cxx:45 AliITSDriftSpeedArraySDD.cxx:46 AliITSDriftSpeedArraySDD.cxx:47 AliITSDriftSpeedArraySDD.cxx:48 AliITSDriftSpeedArraySDD.cxx:49 AliITSDriftSpeedArraySDD.cxx:50 AliITSDriftSpeedArraySDD.cxx:51 AliITSDriftSpeedArraySDD.cxx:52 AliITSDriftSpeedArraySDD.cxx:53 AliITSDriftSpeedArraySDD.cxx:54 AliITSDriftSpeedArraySDD.cxx:55 AliITSDriftSpeedArraySDD.cxx:56 AliITSDriftSpeedArraySDD.cxx:57 AliITSDriftSpeedArraySDD.cxx:58 AliITSDriftSpeedArraySDD.cxx:59 AliITSDriftSpeedArraySDD.cxx:60 AliITSDriftSpeedArraySDD.cxx:61 AliITSDriftSpeedArraySDD.cxx:62 AliITSDriftSpeedArraySDD.cxx:63 AliITSDriftSpeedArraySDD.cxx:64 AliITSDriftSpeedArraySDD.cxx:65 AliITSDriftSpeedArraySDD.cxx:66 AliITSDriftSpeedArraySDD.cxx:67 AliITSDriftSpeedArraySDD.cxx:68 AliITSDriftSpeedArraySDD.cxx:69 AliITSDriftSpeedArraySDD.cxx:70 AliITSDriftSpeedArraySDD.cxx:71 AliITSDriftSpeedArraySDD.cxx:72 AliITSDriftSpeedArraySDD.cxx:73 AliITSDriftSpeedArraySDD.cxx:74 AliITSDriftSpeedArraySDD.cxx:75 AliITSDriftSpeedArraySDD.cxx:76 AliITSDriftSpeedArraySDD.cxx:77 AliITSDriftSpeedArraySDD.cxx:78 AliITSDriftSpeedArraySDD.cxx:79 AliITSDriftSpeedArraySDD.cxx:80 AliITSDriftSpeedArraySDD.cxx:81 AliITSDriftSpeedArraySDD.cxx:82 AliITSDriftSpeedArraySDD.cxx:83 AliITSDriftSpeedArraySDD.cxx:84 AliITSDriftSpeedArraySDD.cxx:85 AliITSDriftSpeedArraySDD.cxx:86 AliITSDriftSpeedArraySDD.cxx:87 AliITSDriftSpeedArraySDD.cxx:88 AliITSDriftSpeedArraySDD.cxx:89 AliITSDriftSpeedArraySDD.cxx:90 AliITSDriftSpeedArraySDD.cxx:91 AliITSDriftSpeedArraySDD.cxx:92 AliITSDriftSpeedArraySDD.cxx:93 AliITSDriftSpeedArraySDD.cxx:94 AliITSDriftSpeedArraySDD.cxx:95 AliITSDriftSpeedArraySDD.cxx:96 AliITSDriftSpeedArraySDD.cxx:97 AliITSDriftSpeedArraySDD.cxx:98 AliITSDriftSpeedArraySDD.cxx:99 AliITSDriftSpeedArraySDD.cxx:100 AliITSDriftSpeedArraySDD.cxx:101 AliITSDriftSpeedArraySDD.cxx:102 AliITSDriftSpeedArraySDD.cxx:103 AliITSDriftSpeedArraySDD.cxx:104 AliITSDriftSpeedArraySDD.cxx:105 AliITSDriftSpeedArraySDD.cxx:106