coverity fix
[u/mrichter/AliRoot.git] / EVGEN / AliGenEMCocktail.h
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                               */
5
6 //
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
10 //
11
12 #include "AliGenCocktail.h"
13 #include "AliGenParam.h"
14 #include "AliDecayer.h"
15 #include "AliPythia.h"
16
17 class AliGenCocktailEntry;
18
19 class AliGenEMCocktail : public AliGenCocktail
20 {
21  public:
22
23     AliGenEMCocktail();
24     enum GeneratorCode { kGenPizero, kGenEta, kGenRho, kGenOmega, kGenEtaprime, kGenPhi, kGENs };    
25
26     virtual ~AliGenEMCocktail();    
27     virtual void Init();
28     virtual void CreateCocktail();
29     virtual void Generate();    
30     Float_t GetDecayMode()         const {return fDecayMode;}
31     Float_t GetWeightingMode()     const {return fWeightingMode;}
32     
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;}
37     
38  protected:
39
40     //
41  private:
42     AliGenEMCocktail(const AliGenEMCocktail &cocktail); 
43     AliGenEMCocktail & operator=(const AliGenEMCocktail &cocktail); 
44
45     void AddSource2Generator(Char_t *nameReso, AliGenParam* const genReso);
46     
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
50     
51     Int_t    fNPart;             // multiplicity of each source per event
52     Double_t fYieldArray[kGENs]; // array of dN/dy for each source
53
54     ClassDef(AliGenEMCocktail,1)  //  cocktail for EM physics
55 };
56
57 #endif
58
59
60