In AliMUONAlignment
[u/mrichter/AliRoot.git] / EVGEN / AliGenEMlib.h
CommitLineData
e40b9538 1#ifndef ALIGENEMLIB_H
2#define ALIGENEMLIB_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id: AliGenEMlib.h 30052 2008-11-25 14:54:18Z morsch $ */
7
8/////////////////////////////////////////////////////////////////////////////
9// //
10// Implementation of AliGenEMlib for electron, di-electron, and photon //
11// cocktail calculations. //
12// It is based on AliGenGSIlib. //
13// //
14// Responsible: R.Averbeck@gsi.de //
15// //
16/////////////////////////////////////////////////////////////////////////////
17
18#include "AliGenLib.h"
19class TRandom;
20
21class AliGenEMlib :public AliGenLib {
22 public:
23 GenFunc GetPt(Int_t param, const char * tname=0) const;
24 GenFunc GetY(Int_t param, const char * tname=0) const;
25 GenFuncIp GetIp(Int_t param, const char * tname=0) const;
26
27 enum constants{kPizero, kEta, kRho, kOmega, kEtaprime, kPhi};
28
29 private:
30
31// Pizero
32 static Int_t IpPizero(TRandom *ran);
33 static Double_t PtPizero( const Double_t *px, const Double_t *dummy );
34 static Double_t YPizero(const Double_t *py, const Double_t *dummy);
35 static Double_t MtScal(Double_t pt, Int_t np);
36
37// Eta
38 static Int_t IpEta(TRandom *ran);
39 static Double_t PtEta( const Double_t *px, const Double_t *dummy );
40 static Double_t YEta(const Double_t *py, const Double_t *dummy);
41
42// Rho
43 static Int_t IpRho(TRandom *ran);
44 static Double_t PtRho( const Double_t *px, const Double_t *dummy );
45 static Double_t YRho(const Double_t *py, const Double_t *dummy);
46
47// Omega
48 static Int_t IpOmega(TRandom *ran);
49 static Double_t PtOmega( const Double_t *px, const Double_t *dummy );
50 static Double_t YOmega(const Double_t *py, const Double_t *dummy);
51
52// Etaprime
53 static Int_t IpEtaprime(TRandom *ran);
54 static Double_t PtEtaprime( const Double_t *px, const Double_t *dummy );
55 static Double_t YEtaprime(const Double_t *py, const Double_t *dummy);
56
57// Phi
58 static Int_t IpPhi(TRandom *ran);
59 static Double_t PtPhi( const Double_t *px, const Double_t *dummy );
60 static Double_t YPhi(const Double_t *py, const Double_t *dummy);
61
62// General
63 static Double_t PtFlat(const Double_t *px, const Double_t *dummy);
64 static Double_t YFlat(Double_t y);
65
66
67 ClassDef(AliGenEMlib,0)
68};
69
70#endif