1 #ifndef ALIGENEMCOCKTAIL_H
2 #define ALIGENEMCOCKTAIL_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
7 // Class to create the cocktail for physics with electrons, di-electrons,
8 // and photons from the decay of the following sources:
9 // pizero, eta, rho, omega, etaprime, phi
12 #include "AliGenCocktail.h"
13 #include "AliGenParam.h"
14 #include "AliDecayer.h"
15 #include "AliPythia.h"
17 class AliGenCocktailEntry;
19 class AliGenEMCocktail : public AliGenCocktail
24 enum GeneratorCode { kGenPizero, kGenEta, kGenRho, kGenOmega, kGenEtaprime, kGenPhi, kGENs };
26 virtual ~AliGenEMCocktail();
28 virtual void CreateCocktail();
29 virtual void Generate();
30 Float_t GetDecayMode() const {return fDecayMode;}
31 Float_t GetWeightingMode() const {return fWeightingMode;}
33 void SetDecayer(AliDecayer* const decayer){fDecayer = decayer;}
34 void SetDecayMode(Decay_t decay){ fDecayMode = decay;}
35 void SetWeightingMode(Weighting_t weight){ fWeightingMode = weight;}
36 void SetNPart(Int_t npart){ fNPart = npart;}
42 AliGenEMCocktail(const AliGenEMCocktail &cocktail);
43 AliGenEMCocktail & operator=(const AliGenEMCocktail &cocktail);
45 void AddSource2Generator(Char_t *nameReso, AliGenParam* const genReso);
47 AliDecayer* fDecayer; // External decayer
48 Decay_t fDecayMode; // decay mode in which resonances are forced to decay, default: kAll
49 Weighting_t fWeightingMode; // weighting mode: kAnalog or kNonAnalog
51 Int_t fNPart; // multiplicity of each source per event
52 Double_t fYieldArray[kGENs]; // array of dN/dy for each source
54 ClassDef(AliGenEMCocktail,1) // cocktail for EM physics