From 1c22a81ea02a23a27d8dd34c6091fb80ca983f1e Mon Sep 17 00:00:00 2001 From: morsch Date: Tue, 25 Mar 2003 09:55:24 +0000 Subject: [PATCH] Numbers of slow nucleons either from model or user set. --- EVGEN/AliGenSlowNucleons.cxx | 43 ++++++++++++++++++------------------ EVGEN/AliGenSlowNucleons.h | 8 ++++++- 2 files changed, 29 insertions(+), 22 deletions(-) diff --git a/EVGEN/AliGenSlowNucleons.cxx b/EVGEN/AliGenSlowNucleons.cxx index ba0388521cb..137746dc677 100644 --- a/EVGEN/AliGenSlowNucleons.cxx +++ b/EVGEN/AliGenSlowNucleons.cxx @@ -15,6 +15,9 @@ /* $Log$ +Revision 1.1 2003/03/24 16:49:23 morsch +Slow nucleon generator and model. + */ /* @@ -96,23 +99,21 @@ void AliGenSlowNucleons::Generate() // Int_t ngp, ngn, nbp, nbn; - Float_t b = fCollisionGeometry->ImpactParameter(); - Int_t nn = fCollisionGeometry->NN(); - Int_t nwn = fCollisionGeometry->NwN(); - Int_t nnw = fCollisionGeometry->NNw(); - Int_t nwnw = fCollisionGeometry->NwNw(); - - printf("AliGenSlowNucleons: Impact parameter from Collision Geometry %f %d %d %d %d\n", - b, nn, nwn, nnw, nwnw); - - fSlowNucleonModel->GetNumberOfSlowNucleons(fCollisionGeometry, ngp, ngn, nbp, nbn); - - if (fDebug) { - printf("nucleons %d %d %d %d \n", ngp, ngn, nbp, nbn); - - fDebugHist->Fill(Float_t(ngp + ngn + nbp + nbn), fCollisionGeometry->NwN(), 1.); - } - + if (fCollisionGeometry) { + Float_t b = fCollisionGeometry->ImpactParameter(); + Int_t nn = fCollisionGeometry->NN(); + Int_t nwn = fCollisionGeometry->NwN(); + Int_t nnw = fCollisionGeometry->NNw(); + Int_t nwnw = fCollisionGeometry->NwNw(); + + fSlowNucleonModel->GetNumberOfSlowNucleons(fCollisionGeometry, ngp, ngn, nbp, nbn); + if (fDebug) { + printf("Nucleons %d %d %d %d \n", fNgp, fNgn, fNbp, fNbn); + fDebugHist->Fill(Float_t(fNgp + fNgn + fNbp + fNbn), fCollisionGeometry->NwN(), 1.); + printf("AliGenSlowNucleons: Impact parameter from Collision Geometry %f %d %d %d %d\n", + b, nn, nwn, nnw, nwnw); + } + } // Float_t p[3]; @@ -125,7 +126,7 @@ void AliGenSlowNucleons::Generate() // fCharge = 1; kf = kProton; - for(i = 0; i < ngp; i++) { + for(i = 0; i < fNgp; i++) { GenerateSlow(fCharge, fTemperatureG, fBetaSourceG, p); SetTrack(fTrackIt, -1, kf, p, origin, polar, 0., kPNoProcess, nt, 1.); @@ -136,7 +137,7 @@ void AliGenSlowNucleons::Generate() // fCharge = 0; kf = kNeutron; - for(i = 0; i < ngn; i++) { + for(i = 0; i < fNgn; i++) { GenerateSlow(fCharge, fTemperatureG, fBetaSourceG, p); SetTrack(fTrackIt, -1, kf, p, origin, polar, 0., kPNoProcess, nt, 1.); @@ -147,7 +148,7 @@ void AliGenSlowNucleons::Generate() // fCharge = 1; kf = kProton; - for(i = 0; i < nbp; i++) { + for(i = 0; i < fNbp; i++) { GenerateSlow(fCharge, fTemperatureB, fBetaSourceB, p); SetTrack(fTrackIt, -1, kf, p, origin, polar, 0., kPNoProcess, nt, 1.); @@ -158,7 +159,7 @@ void AliGenSlowNucleons::Generate() // fCharge = 0; kf = kNeutron; - for(i = 0; i < nbn; i++) { + for(i = 0; i < fNbn; i++) { GenerateSlow(fCharge, fTemperatureB, fBetaSourceB, p); SetTrack(fTrackIt, -1, kf, p, origin, polar, 0., kPNoProcess, nt, 1.); diff --git a/EVGEN/AliGenSlowNucleons.h b/EVGEN/AliGenSlowNucleons.h index aa48c3ed2b6..9ba2c63cd69 100644 --- a/EVGEN/AliGenSlowNucleons.h +++ b/EVGEN/AliGenSlowNucleons.h @@ -34,7 +34,9 @@ public: virtual void SetCollisionGeometry(AliCollisionGeometry* geom) {fCollisionGeometry = geom;} virtual void SetDebug(Int_t flag = 0) {fDebug = flag;} - + virtual void SetNumbersOfSlowNucleons(Int_t ngp, Int_t ngn, Int_t nbp, Int_t nbn) + {fNgp = ngp; fNgn = ngn; fNbp = nbp; fNbn = nbn;} + protected: void GenerateSlow(Int_t charge, Double_t T, Double_t beta, Float_t* q); Double_t Maxwell(Double_t m, Double_t p, Double_t t); @@ -51,6 +53,10 @@ public: Float_t fBetaSourceG; // Source beta for gray nucleons Float_t fTemperatureB; // Source Temperature for black nucleons Float_t fBetaSourceB; // Source beta for black nucleons + Int_t fNgp; // Number of gray protons + Int_t fNgn; // Number of gray neutrons + Int_t fNbp; // Number of black protons + Int_t fNbn; // Number of black neutrons Int_t fDebug; // Debug flag TH2F* fDebugHist; // Histogram for debugging -- 2.39.3