]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVGEN/AliGenEMCocktail.h
* EVGEN/AliGenEMCocktail.cxx (& .h) is the class that generates the cocktail follow...
[u/mrichter/AliRoot.git] / EVGEN / AliGenEMCocktail.h
diff --git a/EVGEN/AliGenEMCocktail.h b/EVGEN/AliGenEMCocktail.h
new file mode 100644 (file)
index 0000000..db823b9
--- /dev/null
@@ -0,0 +1,60 @@
+#ifndef ALIGENEMCOCKTAIL_H
+#define ALIGENEMCOCKTAIL_H
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
+
+//
+// Class to create the cocktail for physics with electrons, di-electrons,
+// and photons from the decay of the following sources:
+// pizero, eta, rho, omega, etaprime, phi
+//
+
+#include "AliGenCocktail.h"
+#include "AliGenParam.h"
+#include "AliDecayer.h"
+#include "AliPythia.h"
+
+class AliGenCocktailEntry;
+
+class AliGenEMCocktail : public AliGenCocktail
+{
+ public:
+
+    AliGenEMCocktail();
+    enum GeneratorCode { kGenPizero, kGenEta, kGenRho, kGenOmega, kGenEtaprime, kGenPhi, kGENs };    
+
+    virtual ~AliGenEMCocktail();    
+    virtual void Init();
+    virtual void CreateCocktail();
+    virtual void Generate();    
+    Float_t GetDecayMode()         const {return fDecayMode;}
+    Float_t GetWeightingMode()     const {return fWeightingMode;}
+    
+    void    SetDecayer(AliDecayer* const decayer){fDecayer = decayer;}
+    void    SetDecayMode(Decay_t decay){ fDecayMode = decay;}
+    void    SetWeightingMode(Weighting_t weight){ fWeightingMode = weight;}
+    void    SetNPart(Int_t npart){ fNPart = npart;}
+    
+ protected:
+
+    //
+ private:
+    AliGenEMCocktail(const AliGenEMCocktail &cocktail); 
+    AliGenEMCocktail & operator=(const AliGenEMCocktail &cocktail); 
+
+    void AddSource2Generator(Char_t *nameReso, AliGenParam* const genReso);
+    
+    AliDecayer* fDecayer;        // External decayer
+    Decay_t fDecayMode;          // decay mode in which resonances are forced to decay, default: kAll
+    Weighting_t fWeightingMode;  // weighting mode: kAnalog or kNonAnalog
+    
+    Int_t    fNPart;             // multiplicity of each source per event
+    Double_t fYieldArray[kGENs]; // array of dN/dy for each source
+
+    ClassDef(AliGenEMCocktail,1)  //  cocktail for EM physics
+};
+
+#endif
+
+
+