#include <TMath.h>
#include "AliITSresponseSDD.h"
#include <AliITSgeomTGeo.h>
const Float_t AliITSresponseSDD::fgkTimeOffsetDefault = 54.30;
const Float_t AliITSresponseSDD::fgkADC2keVDefault = 3.34;
const Float_t AliITSresponseSDD::fgkChargevsTimeDefault = 0.00355;
const Float_t AliITSresponseSDD::fgkADCvsDrTimeDefault = 0.0101;
const Float_t AliITSresponseSDD::fgkCarlosRXClockPeriod = 25.;
ClassImp(AliITSresponseSDD)
AliITSresponseSDD::AliITSresponseSDD():
TObject(),
fTimeOffset(fgkTimeOffsetDefault),
fADC2keV(fgkADC2keVDefault),
fChargevsTime(fgkChargevsTimeDefault)
{
for(Int_t i=0; i<kNSDDmods;i++){
fTimeZero[i]=fgkTimeOffsetDefault;
fDeltaVDrift[i] = fDeltaVDrift[i+kNSDDmods] = 0.;
fADCtokeV[i]=fgkADC2keVDefault;
fADCvsDriftTime[i]=fgkADCvsDrTimeDefault;
}
SetVDCorr2Side(kTRUE);
}
void AliITSresponseSDD::SetHalfLadderATimeZero(Int_t lay, Int_t lad, Float_t tzero){
Int_t minMod,maxMod;
if(lay==3){
minMod=1;
maxMod=3;
if(lad>kNLaddersLay3){
AliError(Form("Ladder number %d out of range",lad));
return;
}
}else if(lay==4){
minMod=1;
maxMod=4;
if(lad>kNLaddersLay4){
AliError(Form("Ladder number %d out of range",lad));
return;
}
}else{
AliError(Form("Layer number %d out of range",lay));
return;
}
for(Int_t iMod=minMod; iMod<=maxMod; iMod++){
Int_t modIndex=AliITSgeomTGeo::GetModuleIndex(lay,lad,iMod);
SetModuleTimeZero(modIndex,tzero);
}
}
void AliITSresponseSDD::SetHalfLadderCTimeZero(Int_t lay, Int_t lad, Float_t tzero){
Int_t minMod,maxMod;
if(lay==3){
minMod=4;
maxMod=6;
if(lad>kNLaddersLay3){
AliError(Form("Ladder number %d out of range",lad));
return;
}
}else if(lay==4){
minMod=5;
maxMod=8;
if(lad>kNLaddersLay4){
AliError(Form("Ladder number %d out of range",lad));
return;
}
}else{
AliError(Form("Layer number %d out of range",lay));
return;
}
for(Int_t iMod=minMod; iMod<=maxMod; iMod++){
Int_t modIndex=AliITSgeomTGeo::GetModuleIndex(lay,lad,iMod);
SetModuleTimeZero(modIndex,tzero);
}
}
void AliITSresponseSDD::PrintChargeCalibrationParams() const{
printf("ADC vs. drift time corr=%f\n",GetChargevsTime());
printf("-------------------------------------\n");
printf("Layer 3\n");
for(Int_t ilad=1; ilad<=14; ilad++){
for(Int_t idet=1; idet<=6;idet++){
Int_t modIndex=AliITSgeomTGeo::GetModuleIndex(3,ilad,idet);
Float_t tz=GetADCtokeV(modIndex);
printf("%7.2f ",tz);
}
printf("\n");
}
printf("\n");
printf("Layer 4\n");
for(Int_t ilad=1; ilad<=22; ilad++){
for(Int_t idet=1; idet<=8;idet++){
Int_t modIndex=AliITSgeomTGeo::GetModuleIndex(4,ilad,idet);
Float_t tz=GetADCtokeV(modIndex);
printf("%7.2f ",tz);
}
printf("\n");
}
}
void AliITSresponseSDD::PrintTimeZeroes() const{
printf("Layer 3\n");
for(Int_t ilad=1; ilad<=14; ilad++){
for(Int_t idet=1; idet<=6;idet++){
Int_t modIndex=AliITSgeomTGeo::GetModuleIndex(3,ilad,idet);
Float_t tz=GetTimeZero(modIndex);
printf("%7.2f ",tz);
}
printf("\n");
}
printf("\n");
printf("Layer 4\n");
for(Int_t ilad=1; ilad<=22; ilad++){
for(Int_t idet=1; idet<=8;idet++){
Int_t modIndex=AliITSgeomTGeo::GetModuleIndex(4,ilad,idet);
Float_t tz=GetTimeZero(modIndex);
printf("%7.2f ",tz);
}
printf("\n");
}
}
void AliITSresponseSDD::PrintVdriftCorerctions() const{
for(Int_t iMod=240; iMod<500; iMod++){
printf("Module %d dVleft=%f dVright=%f\n",iMod,GetDeltaVDrift(iMod,0),GetDeltaVDrift(iMod,1));
}
}
AliITSresponseSDD.cxx:100 AliITSresponseSDD.cxx:101 AliITSresponseSDD.cxx:102 AliITSresponseSDD.cxx:103 AliITSresponseSDD.cxx:104 AliITSresponseSDD.cxx:105 AliITSresponseSDD.cxx:106 AliITSresponseSDD.cxx:107 AliITSresponseSDD.cxx:108 AliITSresponseSDD.cxx:109 AliITSresponseSDD.cxx:110 AliITSresponseSDD.cxx:111 AliITSresponseSDD.cxx:112 AliITSresponseSDD.cxx:113 AliITSresponseSDD.cxx:114 AliITSresponseSDD.cxx:115 AliITSresponseSDD.cxx:116 AliITSresponseSDD.cxx:117 AliITSresponseSDD.cxx:118 AliITSresponseSDD.cxx:119 AliITSresponseSDD.cxx:120 AliITSresponseSDD.cxx:121 AliITSresponseSDD.cxx:122 AliITSresponseSDD.cxx:123 AliITSresponseSDD.cxx:124 AliITSresponseSDD.cxx:125 AliITSresponseSDD.cxx:126 AliITSresponseSDD.cxx:127 AliITSresponseSDD.cxx:128 AliITSresponseSDD.cxx:129 AliITSresponseSDD.cxx:130 AliITSresponseSDD.cxx:131 AliITSresponseSDD.cxx:132 AliITSresponseSDD.cxx:133 AliITSresponseSDD.cxx:134 AliITSresponseSDD.cxx:135 AliITSresponseSDD.cxx:136 AliITSresponseSDD.cxx:137 AliITSresponseSDD.cxx:138 AliITSresponseSDD.cxx:139 AliITSresponseSDD.cxx:140 AliITSresponseSDD.cxx:141 AliITSresponseSDD.cxx:142 AliITSresponseSDD.cxx:143 AliITSresponseSDD.cxx:144 AliITSresponseSDD.cxx:145 AliITSresponseSDD.cxx:146 AliITSresponseSDD.cxx:147 AliITSresponseSDD.cxx:148 AliITSresponseSDD.cxx:149 AliITSresponseSDD.cxx:150 AliITSresponseSDD.cxx:151 AliITSresponseSDD.cxx:152 AliITSresponseSDD.cxx:153 AliITSresponseSDD.cxx:154 AliITSresponseSDD.cxx:155 AliITSresponseSDD.cxx:156 AliITSresponseSDD.cxx:157 AliITSresponseSDD.cxx:158 AliITSresponseSDD.cxx:159 AliITSresponseSDD.cxx:160 AliITSresponseSDD.cxx:161 AliITSresponseSDD.cxx:162 AliITSresponseSDD.cxx:163 AliITSresponseSDD.cxx:164 AliITSresponseSDD.cxx:165 AliITSresponseSDD.cxx:166 AliITSresponseSDD.cxx:167 AliITSresponseSDD.cxx:168