-
-
-//______________________________________________________________________
-Int_t AliITSresponseSDD::Convert8to10(Int_t signal) const {
- // Undo the lossive 10 to 8 bit compression.
- // code from Davide C. and Albert W.
-
- if(Do10to8()){ // kTRUE if the compression is active
- if (signal < 0 || signal > 255) {
- Warning("Convert8to10","out of range signal=%d",signal);
- return 0;
- } // end if signal <0 || signal >255
-
- if (signal < 128) return signal;
- if (signal < 192) {
- if (TMath::Odd(signal)) return (128+((signal-128)<<1));
- else return (128+((signal-128)<<1)+1);
- } // end if signal < 192
- if (signal < 224) {
- if (TMath::Odd(signal)) return (256+((signal-192)<<3)+3);
- else return (256+((signal-192)<<3)+4);
- } // end if signal < 224
- if (TMath::Odd(signal)) return (512+((signal-224)<<4)+7);
- return (512+((signal-224)<<4)+8);
+//_________________________________________________________________________
+void AliITSresponseSDD::SetHalfLadderCTimeZero(Int_t lay, Int_t lad, Float_t tzero){
+ // Sets time Zero for all modules of a ladder on side C (Z<0)
+ 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{
+ // Dump charge calibration parameters
+
+ 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");