/*
$Log$
+Revision 1.36 2001/03/30 07:05:49 morsch
+Final print-out in finish run.
+Write parton system for jet-production (preliminary solution).
+
Revision 1.35 2001/03/09 13:03:40 morsch
Process_t and Struc_Func_t moved to AliPythia.h
{
// Default Constructor
fDecayer = new AliDecayerPythia();
+ SetEventListRange();
}
AliGenPythia::AliGenPythia(Int_t npart)
fDecayer = new AliDecayerPythia();
// Set random number generator
sRandom=fRandom;
+ SetEventListRange();
}
AliGenPythia::AliGenPythia(const AliGenPythia & Pythia)
// Destructor
}
+void AliGenPythia::SetEventListRange(Int_t eventFirst, Int_t eventLast)
+{
+ // Set a range of event numbers, for which a table
+ // of generated particle will be printed
+ fDebugEventFirst = eventFirst;
+ fDebugEventLast = eventLast;
+ if (fDebugEventLast==-1) fDebugEventLast=fDebugEventFirst;
+}
+
void AliGenPythia::Init()
{
// Initialisation
while(1)
{
fPythia->Pyevnt();
-// fPythia->Pylist(1);
+ if (gAlice->GetEvNumber()>=fDebugEventFirst &&
+ gAlice->GetEvNumber()<=fDebugEventLast) fPythia->Pylist(1);
fTrials++;
fPythia->ImportParticles(particles,"All");
Int_t np = particles->GetEntriesFast();
Int_t ks = iparticle->GetStatusCode();
kf = CheckPDGCode(iparticle->GetPdgCode());
if (ks==21) continue;
-
fChildWeight=(fDecayer->GetPartialBranchingRatio(kf))*fParentWeight;
//
// Parent
virtual ~AliGenPythia();
virtual void Generate();
virtual void Init();
+ virtual void SetEventListRange(Int_t eventFirst=-1, Int_t eventLast=-1);
// select process type
virtual void SetProcess(Process_t proc = kPyCharm) {fProcess = proc;}
// select structure function
// treat protons as inside nuclei
virtual void SetNuclei(Int_t a1, Int_t a2);
// get cross section of process
- virtual Float_t GetXsection() {return fXsection;}
+ virtual Float_t GetXsection() {return fXsection;}
// Check PDG code
virtual Int_t CheckPDGCode(Int_t pdgcode);
virtual void FinishRun();
Int_t fNucA2; // mass number nucleus side 2
Bool_t fFullEvent; // Write Full event if true
AliDecayer *fDecayer; // ! pointer to the decayer instance
+ Int_t fDebugEventFirst; // First event to debug
+ Int_t fDebugEventLast; // Last event to debug
private:
// check if particle is selected as parent particle
Bool_t ParentSelected(Int_t ip);