fGeom(0),
fPulseGenerator(0),
fRawReader(0),
- fRawStream(0)
+ fRawStream(0),
+ fADCValuesLG(0),
+ fADCValuesHG(0)
{
// Default constructor
fGeom(0),
fPulseGenerator(0),
fRawReader(rawReader),
- fRawStream(0)
+ fRawStream(0),
+ fADCValuesLG(0),
+ fADCValuesHG(0)
{
// Default constructor
fGeom(0),
fPulseGenerator(0),
fRawReader(0),
- fRawStream(0)
+ fRawStream(0),
+ fADCValuesLG(0),
+ fADCValuesHG(0)
+
{
// Copy constructor
if(fPulseGenerator) delete fPulseGenerator ;
fPulseGenerator=0 ;
delete fRawStream;
+ delete [] fADCValuesLG;
+ delete [] fADCValuesHG;
}
//--------------------------------------------------------------------------------------
void AliPHOSRawDigiProducer::MakeDigits(TClonesArray *digits, AliPHOSRawFitterv0* fitter)
fGeom->RelToAbsNumbering(relId, absId);
fitter->SetNBunches(0);
- while (fRawStream->NextBunch()) { //Take first in time banch
+ Int_t sigStart =0 ;
+ Int_t sigLength=0 ;
+ while (fRawStream->NextBunch()) { //Take the first in time bunch
const UShort_t *sig = fRawStream->GetSignals();
- Int_t sigStart = fRawStream->GetStartTimeBin();
- Int_t sigLength = fRawStream->GetBunchLength();
+ sigStart = fRawStream->GetStartTimeBin();
+ sigLength = fRawStream->GetBunchLength();
fitter->Eval(sig,sigStart,sigLength);
+ if (caloFlag == AliCaloRawStreamV3::kLowGain) {
+ delete [] fADCValuesLG;
+ fADCValuesLG = new Int_t[sigLength];
+ for (Int_t i=0; i<sigLength; i++)
+ fADCValuesLG[sigLength-i-1] = sig[i];
+ }
+ else if (caloFlag == AliCaloRawStreamV3::kHighGain) {
+ delete [] fADCValuesHG;
+ fADCValuesHG = new Int_t[sigLength];
+ for (Int_t i=0; i<sigLength; i++)
+ fADCValuesHG[sigLength-i-1] = sig[i];
+ }
} // End of NextBunch()
if (caloFlag == AliCaloRawStreamV3::kLowGain) {
new(tmpLG[ilgDigit]) AliPHOSDigit(-1,absId,(Float_t)energy,(Float_t)time);
+ if (sigLength>0 && fADCValuesLG!=0)
+ dynamic_cast<AliPHOSDigit*>(tmpLG.At(ilgDigit))->SetALTROSamplesLG(sigLength,fADCValuesLG);
ilgDigit++ ;
}
else if (caloFlag == AliCaloRawStreamV3::kHighGain) {
new((*digits)[iDigit]) AliPHOSDigit(-1,absId,-1.f,(Float_t)time);
else
new((*digits)[iDigit]) AliPHOSDigit(-1,absId,(Float_t)energy,(Float_t)time);
+ if (sigLength>0 && fADCValuesHG!=0)
+ dynamic_cast<AliPHOSDigit*>(digits->At(iDigit))->SetALTROSamplesHG(sigLength,fADCValuesHG);
iDigit++;
}
} // End of NextChannel()