#include <TSystem.h>
#include "AliGenHalo.h"
+#include "AliGenEventHeader.h"
#include "AliRun.h"
#include "AliLog.h"
{
// Initialisation
fFile = fopen(fFileName,"r");
+ Int_t ir = 0;
+
+
if (fFile) {
printf("\n File %s opened for reading, %p ! \n ", fFileName.Data(), (void*)fFile);
} else {
for (i = 0; i < fGPASize; i++)
{
- fscanf(file, "%f %f %f %f %f %f", &z, &p[0], &p[1], &p[2] , &p[3], &p[4]);
+ ir = fscanf(file, "%f %f %f %f %f %f", &z, &p[0], &p[1], &p[2] , &p[3], &p[4]);
+ if (ir == 0) break;
+
fG1[i] = p[fRunPeriod];
if (i > 0) {
//
for (i = 0; i < fGPASize; i++)
{
- fscanf(file, "%f %f %f %f %f %f", &z, &p[0], &p[1], &p[2] , &p[3], &p[4]);
+ ir = fscanf(file, "%f %f %f %f %f %f", &z, &p[0], &p[1], &p[2] , &p[3], &p[4]);
+ if (ir == 0) break;
+
fG2[i] = p[fRunPeriod];
if (i > 0) {
fZ2[i] = fZ2[i-1] + z;
} else {
for (i = 0; i < fGPASize; i++)
{
- fscanf(file, "%f %e %e %e %e %e", &z, &p[0], &p[1], &p[2], &p[3], &p[4]);
+ ir = fscanf(file, "%f %e %e %e %e %e", &z, &p[0], &p[1], &p[2], &p[3], &p[4]);
+ if (ir == 0) break;
z /= 1000.;
fG1[i] = p[4] * kCrossSection * kFlux; // 1/m/s
// 1/3 of nominal intensity at startup
if (first && (fNskip == 0)) ReadNextParticle();
first = kFALSE;
oldID = fLossID;
+ Int_t np = 0;
while(1) {
// Push particle to stack
origin[2] = 1950.;
PushTrack(fTrackIt , -1, fPdg , p, origin, polar, fTS - 1950./2.9979e10, kPNoProcess, nt, fWS);
-
+ np++;
Int_t nc = ReadNextParticle();
if (fLossID != oldID || nc == 0) {
break;
}
}
+
SetHighWaterMark(nt);
+ AliGenEventHeader* header = new AliGenEventHeader("HALO");
+ header->SetNProduced(np);
+ // Passes header either to the container or to gAlice
+ if (fContainer) {
+ header->SetName(fName);
+ fContainer->AddHeader(header);
+ } else {
+ gAlice->SetGenEventHeader(header);
+ }
}
-
+
Float_t AliGenHalo::GasPressureWeight(Float_t zPrimary)
{