Gray particle generator, first commit.
[u/mrichter/AliRoot.git] / EVGEN / AliGenGrayParticles.h
CommitLineData
930c0bb5 1#ifndef ALIGENGRAYPARTICLES_H
2#define ALIGENGRAYPARTICLES_H
3/* Copyright(c) 198-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
8#include "AliGenerator.h"
9
10class AliGenGrayParticles : public AliGenerator
11{
12public:
13 AliGenGrayParticles();
14 AliGenGrayParticles(Int_t npart);
15 virtual ~AliGenGrayParticles();
16 virtual void Init();
17 virtual void Generate();
18 virtual void SetPmax(Float_t pmax = 10.) {fPmax = pmax;}
19 virtual void SetNominalCmsEnergy(Float_t energy = 14000.) {fCMS = energy;}
20 virtual void SetTarget(Float_t a=208, Float_t z=82) {fATarget = a; fZTarget = z;}
21 virtual void SetTemperature(Double_t t = 0.05) {fTemperature = t;}
22
23 protected:
24 void GenerateSlow(Int_t charge, Double_t T, Double_t beta, Float_t* q);
25 Double_t Maxwell(Double_t m, Double_t p, Double_t t);
26 void Lorentz(Double_t m, Double_t beta, Float_t* q);
27 protected:
28 Float_t fCMS; // Center of mass energy
29 Float_t fMomentum; // Target nucleus momentum
30 Float_t fBeta; // Target nucleus beta
31 Float_t fPmax; // Maximum slow nucleon momentum
32 Float_t fATarget; // Target nucleus mass number
33 Float_t fZTarget; // Target nucleus charge number
34 Float_t fTemperature; // Source Temperature
35 ClassDef(AliGenGrayParticles,1) // Gray Particle Generator
36};
37#endif
38
39
40
41
42
43