fRandomPz(kFALSE),
fNoHeavyQuarks(kFALSE),
fEventTime(0.),
- fHeader(0)
+ fHeader(AliGenHijingEventHeader("Hijing"))
{
// Constructor
fEnergyCMS = 5500.;
fRandomPz(kFALSE),
fNoHeavyQuarks(kFALSE),
fEventTime(0.),
- fHeader(0)
+ fHeader(AliGenHijingEventHeader("Hijing"))
{
// Default PbPb collisions at 5. 5 TeV
//
//
// Set random number generator
AliHijingRndm::SetHijingRandom(GetRandom());
+
}
AliGenHijing::~AliGenHijing()
void AliGenHijing::MakeHeader()
{
// Builds the event header, to be called after each event
- if (fHeader) delete fHeader;
- fHeader = new AliGenHijingEventHeader("Hijing");
-
- ((AliGenHijingEventHeader*) fHeader)->SetNProduced(fNprimaries);
- ((AliGenHijingEventHeader*) fHeader)->SetImpactParameter(fHijing->GetHINT1(19));
- ((AliGenHijingEventHeader*) fHeader)->SetTotalEnergy(fHijing->GetEATT());
- ((AliGenHijingEventHeader*) fHeader)->SetHardScatters(fHijing->GetJATT());
- ((AliGenHijingEventHeader*) fHeader)->SetParticipants(fHijing->GetNP(), fHijing->GetNT());
- ((AliGenHijingEventHeader*) fHeader)->SetCollisions(fHijing->GetN0(),
- fHijing->GetN01(),
- fHijing->GetN10(),
- fHijing->GetN11());
- ((AliGenHijingEventHeader*) fHeader)->SetSpectators(fProjectileSpecn, fProjectileSpecp,
- fTargetSpecn,fTargetSpecp);
- ((AliGenHijingEventHeader*) fHeader)->SetReactionPlaneAngle(fHijing->GetHINT1(20));
-// printf("Impact Parameter %13.3f \n", fHijing->GetHINT1(19));
-
-
+ fHeader.SetNProduced(fNprimaries);
+ fHeader.SetImpactParameter(fHijing->GetHINT1(19));
+ fHeader.SetTotalEnergy(fHijing->GetEATT());
+ fHeader.SetHardScatters(fHijing->GetJATT());
+ fHeader.SetParticipants(fHijing->GetNP(), fHijing->GetNT());
+ fHeader.SetCollisions(fHijing->GetN0(),
+ fHijing->GetN01(),
+ fHijing->GetN10(),
+ fHijing->GetN11());
+ fHeader.SetSpectators(fProjectileSpecn, fProjectileSpecp,
+ fTargetSpecn,fTargetSpecp);
+ fHeader.SetReactionPlaneAngle(fHijing->GetHINT1(20));
// 4-momentum vectors of the triggered jets.
//
fHijing->GetHINT1(37),
fHijing->GetHINT1(38),
fHijing->GetHINT1(39));
- ((AliGenHijingEventHeader*) fHeader)->SetJets(jet1, jet2, jet3, jet4);
+ fHeader.SetJets(jet1, jet2, jet3, jet4);
// Bookkeeping for kinematic bias
- ((AliGenHijingEventHeader*) fHeader)->SetTrials(fTrials);
+ fHeader.SetTrials(fTrials);
// Event Vertex
- fHeader->SetPrimaryVertex(fVertex);
- fHeader->SetInteractionTime(fEventTime);
- AddHeader(fHeader);
- fCollisionGeometry = (AliGenHijingEventHeader*) fHeader;
+ fHeader.SetPrimaryVertex(fVertex);
+ fHeader.SetInteractionTime(fEventTime);
+ AddHeader(&fHeader);
+ fCollisionGeometry = &fHeader;
}
// andreas.morsch@cern.ch
#include "AliGenMC.h"
+#include "AliGenHijingEventHeader.h"
#include <TString.h>
class THijing;
class TParticle;
class TClonesArray;
class TGraph;
-class AliGenHijingEventHeader;
+
class AliGenHijing : public AliGenMC
{
Bool_t fRandomPz; // Randomise sign of pz event by event
Bool_t fNoHeavyQuarks; // If true no heavy quarks are produced
Float_t fEventTime; // The event time
- AliGenHijingEventHeader* fHeader; // MC Header
+ AliGenHijingEventHeader fHeader; // MC Header
private:
AliGenHijing(const AliGenHijing &Hijing);