/*
$Log$
+Revision 1.5 2003/01/07 14:11:43 morsch
+Comminication with gray particle model and collision geometry added.
+
+Revision 1.4 2003/01/06 10:09:57 morsch
+Use AliGrayParticleModel.
+
+Revision 1.3 2002/12/02 10:02:40 morsch
+Corrections introduced by F. Silker:
+- SetBetaSource
+- Particle type according to charge.
+
Revision 1.2 2002/10/14 14:55:35 hristov
Merging the VirtualMC branch to the main development branch (HEAD)
Source is modelled by a relativistic Maxwell distributions.
Original code by Ferenc Sikler <sikler@rmki.kfki.hu>
*/
-#include "AliGenGrayParticles.h"
-#include "AliPDG.h"
+
#include <TDatabasePDG.h>
+#include <TPDGCode.h>
+
+#include "AliCollisionGeometry.h"
+#include "AliGenGrayParticles.h"
+#include "AliGrayParticleModel.h"
ClassImp(AliGenGrayParticles)
AliGenGrayParticles::AliGenGrayParticles():AliGenerator(-1)
{
// Default constructor
+ fGrayParticleModel = 0;
+ fCollisionGeometry = 0;
}
AliGenGrayParticles::AliGenGrayParticles(Int_t npart)
SetCharge();
SetTemperature();
SetBetaSource();
+ fGrayParticleModel = new AliGrayParticleModel();
+ fCollisionGeometry = 0;
}
//____________________________________________________________
AliGenGrayParticles::~AliGenGrayParticles()
{
// Destructor
+ delete fGrayParticleModel;
}
//
// Generate one event
//
+ //
+ // Communication with Gray Particle Model
+ //
+ Int_t np, nn;
+
+ Float_t b = fCollisionGeometry->ImpactParameter();
+ printf("AliGenGrayParticles: Impact parameter from Collision Geometry %f \n", b);
+
+ fGrayParticleModel->GetNumberOfGrayNucleons(fCollisionGeometry, np, nn);
+
+ //
Float_t p[3];
Float_t origin[3] = {0., 0., 0.};
Float_t polar [3] = {0., 0., 0.};
Int_t nt, i;
- for(i = 0;i < fNpart; i++) {
+ for(i = 0;i < fNpart; i++) {
Int_t kf;
if(fCharge==1) kf = kProton;
else kf = kNeutron;