-//______________________________________________________________________
-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);
- }
- else {
- return signal;
- }
-}
-
-//________________________________________________________________________
-void AliITSresponseSDD::SetNLookUp(Int_t p1){
- // Set number of sigmas over which cluster disintegration is performed
- fNcomps=p1;
- if (fGaus) delete fGaus;
- fGaus = new TArrayF(fNcomps+1);
- for(Int_t i=0; i<=fNcomps; i++) {
- Float_t x = -fNsigmas + (2.*i*fNsigmas)/(fNcomps-1);
- (*fGaus)[i] = exp(-((x*x)/2));
- }
-}