#include "AliPHOSCalibData.h"
#include "AliRunLoader.h"
#include "AliPHOSLoader.h"
+#include "AliPHOSPulseGenerator.h"
ClassImp(AliPHOSDigitizer)
fFirstEvent(0),
fLastEvent(0),
fcdb(0x0),
- fEventCounter(0)
+ fEventCounter(0),
+ fPulse(0),
+ fADCValuesLG(0),
+ fADCValuesHG(0)
{
// ctor
InitParameters() ;
fFirstEvent(0),
fLastEvent(0),
fcdb(0x0),
- fEventCounter(0)
+ fEventCounter(0),
+ fPulse(0),
+ fADCValuesLG(0),
+ fADCValuesHG(0)
{
// ctor
InitParameters() ;
Init() ;
fDefaultInit = kFALSE ;
- fManager = 0 ; // We work in the standalong mode
+ fManager = 0 ; // We work in the standalone mode
fcdb = new AliPHOSCalibData(-1);
}
fFirstEvent(d.fFirstEvent),
fLastEvent(d.fLastEvent),
fcdb (0x0),
- fEventCounter(0)
+ fEventCounter(0),
+ fPulse(0),
+ fADCValuesLG(0),
+ fADCValuesHG(0)
{
// copyy ctor
SetName(d.GetName()) ;
fFirstEvent(0),
fLastEvent(0),
fcdb (0x0),
- fEventCounter(0)
+ fEventCounter(0),
+ fPulse(0),
+ fADCValuesLG(0),
+ fADCValuesHG(0)
{
// ctor Init() is called by RunDigitizer
delete [] fInputFileNames ;
delete [] fEventNames ;
+ delete fPulse;
+ delete [] fADCValuesLG;
+ delete [] fADCValuesHG;
+
if(fcdb){ delete fcdb ; fcdb=0;}
}
//First stream
AliRunLoader* rl = AliRunLoader::GetRunLoader(fEventFolderName) ;
- AliPHOSLoader * phosLoader = dynamic_cast<AliPHOSLoader*>(rl->GetLoader("PHOSLoader"));
+ AliPHOSLoader * phosLoader = dynamic_cast<AliPHOSLoader*>(rl->GetLoader("PHOSLoader"));
Int_t readEvent = event ;
if (fManager)
continue ;
}
+ geom->AbsToRelNumbering(digit->GetId(),relId);
+
digit->SetEnergy(TMath::Ceil(digit->GetEnergy())-0.9999) ;
Float_t tres = TimeResolution(digit->GetEnergy()) ;
digit->SetTime(gRandom->Gaus(digit->GetTime(), tres) ) ;
+
+ fPulse->Reset();
+ fPulse->SetAmplitude(digit->GetEnergy()/
+ fcdb->GetADCchannelEmc(relId[0],relId[3],relId[2]));
+ fPulse->SetTZero(digit->GetTimeR());
+ fPulse->MakeSamples();
+ fPulse->GetSamples(fADCValuesHG, fADCValuesLG) ;
+ Int_t nSamples = fPulse->GetRawFormatTimeBins();
+ digit->SetALTROSamplesHG(nSamples,fADCValuesHG);
+ digit->SetALTROSamplesLG(nSamples,fADCValuesLG);
}
Float_t cpvDigitThreshold = AliPHOSSimParam::GetInstance()->GetCpvDigitsThreshold() ;
fDigitsInRun = 0 ;
SetEventRange(0,-1) ;
+ fPulse = new AliPHOSPulseGenerator();
+ fADCValuesLG = new Int_t[fPulse->GetRawFormatTimeBins()];
+ fADCValuesHG = new Int_t[fPulse->GetRawFormatTimeBins()];
}