AliGenCocktail::AliGenCocktail()
:AliGenerator(),
fNGenerators(0),
+ fTotalRate(0.),
fRandom(kFALSE),
fUsePerEventRate(kFALSE),
fProb(0),
fTitle= "Particle Generator using cocktail of generators";
}
-AliGenCocktail::AliGenCocktail(const AliGenCocktail & cocktail):
- AliGenerator(cocktail),
- fNGenerators(0),
- fRandom(kFALSE),
- fUsePerEventRate(kFALSE),
- fProb(0),
- fEntries(0),
- flnk1(0),
- flnk2(0),
- fHeader(0)
-{
-// Copy constructor
- cocktail.Copy(*this);
-}
-
AliGenCocktail::~AliGenCocktail()
{
// Destructor
// Add a generator to the list
// First check that list exists
if (!fEntries) fEntries = new TList();
-
+ fTotalRate += RateExp;
//
// Forward parameters to the new generator
if(TestBit(kPtRange) && !(Generator->TestBit(kPtRange)) && !(Generator->TestBit(kMomentumRange)))
Generator->SetPhiRange(fPhiMin*180/TMath::Pi(),fPhiMax*180/TMath::Pi());
if (!(Generator->TestBit(kThetaRange)))
Generator->SetThetaRange(fThetaMin*180/TMath::Pi(),fThetaMax*180/TMath::Pi());
- if (!(Generator->TestBit(kVertexRange)))
+ if (!(Generator->TestBit(kVertexRange))) {
Generator->SetOrigin(fOrigin[0], fOrigin[1], fOrigin[2]);
-
- Generator->SetSigma(fOsigma[0], fOsigma[1], fOsigma[2]);
- Generator->SetVertexSmear(fVertexSmear);
- Generator->SetVertexSource(kContainer);
+ Generator->SetSigma(fOsigma[0], fOsigma[1], fOsigma[2]);
+ Generator->SetVertexSmear(fVertexSmear);
+ Generator->SetVertexSource(kContainer);
+ }
Generator->SetTrackingFlag(fTrackIt);
Generator->SetContainer(this);
fHeader = new AliGenCocktailEventHeader("Cocktail Header");
- TObjArray *partArray = gAlice->GetMCApp()->Particles();
+ const TObjArray *partArray = gAlice->GetMCApp()->Particles();
//
// Generate the vertex position used by all generators
// Event Vertex
fHeader->SetPrimaryVertex(eventVertex);
+ fHeader->CalcNProduced();
gAlice->SetGenEventHeader(fHeader);
}
// Add a header to the list
if (fHeader) fHeader->AddHeader(header);
}
-
-AliGenCocktail& AliGenCocktail::operator=(const AliGenCocktail& rhs)
-{
-// Assignment operator
- rhs.Copy(*this);
- return (*this);
-}
-void AliGenCocktail::Copy(TObject &) const
-{
- Fatal("Copy","Not implemented!\n");
-}