#include "THBTprocessor.h"
#include "AliStack.h"
+#include "AliMC.h"
+#include "AliRun.h"
#include "AliGenCocktailAfterBurner.h"
#include "AliLog.h"
AliGenerator(),
fHBTprocessor(0x0),
fHbtPStatCodes(0x0),
- fEventMerge(1)
+ fNPDGCodes(0),
+ fTrackRejectionFactor(0),
+ fReferenceControl(0),
+ fPrintFull(0),
+ fPrintSectorData(0),
+ fNPidTypes(0),
+ fNevents(0),
+ fSwitch1d(0),
+ fSwitch3d(0),
+ fSwitchType(0),
+ fSwitchCoherence(0),
+ fSwitchCoulomb(0),
+ fSwitchFermiBose(0),
+ fEventLineCounter(0),
+ fMaxit(0),
+ fIrand(0),
+ fLambda(0),
+ fR1d(0),
+ fRside(0),
+ fRout(0),
+ fRlong(0),
+ fRperp(0),
+ fRparallel(0),
+ fR0(0),
+ fQ0(0),
+ fDeltap(0),
+ fDelchi(0),
+ fNPtBins(0),
+ fNPhiBins(0),
+ fNEtaBins(0),
+ fN1dFine(0),
+ fN1dCoarse(0),
+ fN1dTotal(0),
+ fN3dFine(0),
+ fN3dCoarse(0),
+ fN3dTotal(0),
+ fN3dFineProject(0),
+ fNPxBins(0),
+ fNPyBins(0),
+ fNPzBins(0),
+ fNSectors(0),
+ fPtBinSize(0),
+ fPhiBinSize(0),
+ fEtaBinSize(0),
+ fEtaMin(0),
+ fEtaMax(0),
+ fBinsize1dFine(0),
+ fBinsize1dCoarse(0),
+ fQmid1d(0),
+ fQmax1d(0),
+ fBinsize3dFine(0),
+ fBinsize3dCoarse(0),
+ fQmid3d(0),
+ fQmax3d(0),
+ fPxMin(0),
+ fPxMax(0),
+ fDelpx(0),
+ fPyMin(0),
+ fPyMax(0),
+ fDelpy(0),
+ fPzMin(0),
+ fPzMax(0),
+ fDelpz(0),
+ fEventMerge(1),
+ fActiveStack(0)
{
//
// Standard constructor
//creates and inits status codes array to zero
AliGenCocktailAfterBurner *cab = GetGenerator();
- if(!cab) Fatal("InitStatusCodes()","Can not find AliGenCocktailAfterBurner generator");
+ if(!cab) {
+ Fatal("InitStatusCodes()","Can not find AliGenCocktailAfterBurner generator");
+ return;
+ }
Int_t nev = cab->GetNumberOfEvents();
{
for (Int_t i =0; i<GetGenerator()->GetNumberOfEvents(); i++)
delete [] fHbtPStatCodes[i];
- delete fHbtPStatCodes;
+ delete [] fHbtPStatCodes;
fHbtPStatCodes = 0;
}
if (cab == 0x0)
{
Fatal("Generate()","AliGenHBTprocessor needs AliGenCocktailAfterBurner to be main generator");
+ return;
}
if (cab->GetNumberOfEvents() <2)
{
Int_t AliGenHBTprocessor::GetNumberOfEvents()
{
//returns number of available events
- AliGenerator* g = gAlice->Generator();
+ AliGenerator* g = gAlice->GetMCApp()->Generator();
AliGenCocktailAfterBurner* cab = (g)?dynamic_cast<AliGenCocktailAfterBurner*>(g):0x0;
if (cab == 0x0)
{
Int_t AliGenHBTprocessor::GetNumberOfTracks()
{
//returns number of tracks in active event
- AliGenerator* g = gAlice->Generator();
+ AliGenerator* g = gAlice->GetMCApp()->Generator();
AliGenCocktailAfterBurner* cab = (g)?dynamic_cast<AliGenCocktailAfterBurner*>(g):0x0;
if (cab == 0x0)
{
{
if (i >= GetNumberOfEvents()) break; //protection not to overshoot nb of events
AliStack* stack = cab->GetStack(i);
- if (stack == 0x0)
+ if (stack == 0x0) {
Error("GetNumberOfTracks","There is no stack %d",i);
-
+ continue;
+ }
n+=stack->GetNprimary();
}
return n;
{
//returns track that hbtp thinks is n in active event
AliDebug(5,Form("n = %d",n));
- AliGenerator* g = gAlice->Generator();
+ AliGenerator* g = gAlice->GetMCApp()->Generator();
AliGenCocktailAfterBurner* cab = (g)?dynamic_cast<AliGenCocktailAfterBurner*>(g):0x0;
if (cab == 0x0)
{
void AliGenHBTprocessor::GetTrackEventIndex(Int_t n, Int_t &evno, Int_t &index) const
{
//returns event(stack) number and particle index
- AliGenerator* g = gAlice->Generator();
+ AliGenerator* g = gAlice->GetMCApp()->Generator();
AliGenCocktailAfterBurner* cab = (g)?dynamic_cast<AliGenCocktailAfterBurner*>(g):0x0;
if (cab == 0x0)
{
"Running HBT Processor without gAlice... Exiting \n");
return 0x0;//pro forma
}
- AliGenerator * gen = gAlice->Generator();
+ AliGenerator * gen = gAlice->GetMCApp()->Generator();
if (!gen)
{