Comminication with gray particle model and collision geometry added.
[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"
c27c8b4d 9class AliGrayParticleModel;
930c0bb5 10
11class AliGenGrayParticles : public AliGenerator
12{
13public:
14 AliGenGrayParticles();
15 AliGenGrayParticles(Int_t npart);
16 virtual ~AliGenGrayParticles();
17 virtual void Init();
18 virtual void Generate();
19 virtual void SetPmax(Float_t pmax = 10.) {fPmax = pmax;}
20 virtual void SetNominalCmsEnergy(Float_t energy = 14000.) {fCMS = energy;}
21 virtual void SetTarget(Float_t a=208, Float_t z=82) {fATarget = a; fZTarget = z;}
ca33591a 22 virtual void SetCharge(Int_t c = 1) {fCharge = c;}
930c0bb5 23 virtual void SetTemperature(Double_t t = 0.05) {fTemperature = t;}
ca33591a 24 virtual void SetBetaSource(Double_t b = 0.05) {fBetaSource = b;}
c27c8b4d 25 //
26 virtual void SetGrayParticleModel(AliGrayParticleModel* model)
27 {fGrayParticleModel = model;}
8b87aa60 28 virtual Bool_t NeedsCollisionGeometry() {return kTRUE;}
29 virtual void SetCollisionGeometry(AliCollisionGeometry* geom)
30 {fCollisionGeometry = geom;}
c27c8b4d 31
930c0bb5 32 protected:
33 void GenerateSlow(Int_t charge, Double_t T, Double_t beta, Float_t* q);
34 Double_t Maxwell(Double_t m, Double_t p, Double_t t);
35 void Lorentz(Double_t m, Double_t beta, Float_t* q);
36 protected:
37 Float_t fCMS; // Center of mass energy
38 Float_t fMomentum; // Target nucleus momentum
39 Float_t fBeta; // Target nucleus beta
40 Float_t fPmax; // Maximum slow nucleon momentum
41 Float_t fATarget; // Target nucleus mass number
42 Float_t fZTarget; // Target nucleus charge number
ca33591a 43 Int_t fCharge; // Slow nucleon charge
930c0bb5 44 Float_t fTemperature; // Source Temperature
ca33591a 45 Float_t fBetaSource; // Source beta
c27c8b4d 46 //
47 AliGrayParticleModel* fGrayParticleModel; // The gray particle model
930c0bb5 48 ClassDef(AliGenGrayParticles,1) // Gray Particle Generator
49};
50#endif
51
52
53
54
55
56