ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

/* $Id$ */

#include "AliGenHepMCEventHeader.h"
ClassImp(AliGenHepMCEventHeader)


AliGenHepMCEventHeader::AliGenHepMCEventHeader():
   fNcoll_hard(0),
   fNpart_proj(0),
   fNpart_targ(0),
   fNcoll(0),
   fspectator_neutrons(0),
   fspectator_protons(0),
   fN_Nwounded_collisions(0),
   fNwounded_N_collisions(0),
   fNwounded_Nwounded_collisions(0),
   fimpact_parameter(0.0),
   fevent_plane_angle(0.0),
   feccentricity(0.0),
   fsigma_inel_NN(0.0),
   fid1(0),
   fid2(0),
   fpdf_id1(0),
   fpdf_id2(0),
   fx1(0.0),
   fx2(0.0),
   fscalePDF(0.0),
   fpdf1(0.0),
   fpdf2(0.0)
{
   // Default Constructor
}

AliGenHepMCEventHeader::AliGenHepMCEventHeader(const char* name):
   AliGenEventHeader(name),
   fNcoll_hard(0),
   fNpart_proj(0),
   fNpart_targ(0),
   fNcoll(0),
   fspectator_neutrons(0),
   fspectator_protons(0),
   fN_Nwounded_collisions(0),
   fNwounded_N_collisions(0),
   fNwounded_Nwounded_collisions(0),
   fimpact_parameter(0.0),
   fevent_plane_angle(0.0),
   feccentricity(0.0),
   fsigma_inel_NN(0.0),
   fid1(0),
   fid2(0),
   fpdf_id1(0),
   fpdf_id2(0),
   fx1(0.0),
   fx2(0.0),
   fscalePDF(0.0),
   fpdf1(0.0),
   fpdf2(0.0)
{
   // Constructor
}

AliGenHepMCEventHeader::AliGenHepMCEventHeader(
      Int_t    var_Ncoll_hard,                    // Number of hard scatterings
      Int_t    var_Npart_proj,                    // Number of projectile participants
      Int_t    var_Npart_targ,                    // Number of target participants
      Int_t    var_Ncoll,                         // Number of NN (nucleon-nucleon) collisions
      Int_t    var_spectator_neutrons,            // Number of spectator neutrons
      Int_t    var_spectator_protons,             // Number of spectator protons
      Int_t    var_N_Nwounded_collisions,         // Number of N-Nwounded collisions
      Int_t    var_Nwounded_N_collisions,         // Number of Nwounded-N collisons
      Int_t    var_Nwounded_Nwounded_collisions,  // Number of Nwounded-Nwounded collisions
      Float_t  var_impact_parameter,              // Impact Parameter(in fm) of collision
      Float_t  var_event_plane_angle,             // Azimuthal angle of event plane
      Float_t  var_eccentricity,                  // eccentricity of participating nucleons in the transverse plane (as in phobos nucl-ex/0510031)
      Float_t  var_sigma_inel_NN,                 // nucleon-nucleon inelastic (including diffractive) cross-section
      Int_t    var_id1,        // flavour code of first parton
      Int_t    var_id2,        // flavour code of second parton
      Int_t    var_pdf_id1,    // LHAPDF set id of first parton
      Int_t    var_pdf_id2,    // LHAPDF set id of second parton
      Double_t var_x1,         // fraction of beam momentum carried by first parton ("beam side")
      Double_t var_x2,         // fraction of beam momentum carried by second parton ("target side")
      Double_t var_scalePDF,   // Q-scale used in evaluation of PDF's   (in GeV)
      Double_t var_pdf1,       // PDF (id1, x1, Q) - x*f(x)
      Double_t var_pdf2        // PDF (id2, x2, Q) - x*f(x)
):
   fNcoll_hard(var_Ncoll_hard),
   fNpart_proj(var_Npart_proj),
   fNpart_targ(var_Npart_targ),
   fNcoll(var_Ncoll),
   fspectator_neutrons(var_spectator_neutrons),
   fspectator_protons(var_spectator_protons),
   fN_Nwounded_collisions(var_N_Nwounded_collisions),
   fNwounded_N_collisions(var_Nwounded_N_collisions),
   fNwounded_Nwounded_collisions(var_Nwounded_Nwounded_collisions),
   fimpact_parameter(var_impact_parameter),
   fevent_plane_angle(var_event_plane_angle),
   feccentricity(var_eccentricity),
   fsigma_inel_NN(var_sigma_inel_NN),
   fid1(var_id1),
   fid2(var_id2),
   fpdf_id1(var_pdf_id1),
   fpdf_id2(var_pdf_id2),
   fx1(var_x1),
   fx2(var_x2),
   fscalePDF(var_scalePDF),
   fpdf1(var_pdf1),
   fpdf2(var_pdf2)
{
   // The Constructor
}

Bool_t AliGenHepMCEventHeader::HeavyIonInfoValid() {
   return fNcoll_hard != 0 ||
         fNpart_proj != 0 ||
         fNpart_targ != 0 ||
         fNcoll != 0 ||
         fspectator_neutrons != 0 ||
         fspectator_protons != 0 ||
         fN_Nwounded_collisions != 0 ||
         fNwounded_N_collisions != 0 ||
         fNwounded_Nwounded_collisions != 0 ||
         fimpact_parameter != 0.0 ||
         fevent_plane_angle != 0.0 ||
         feccentricity != 0.0 ||
         fsigma_inel_NN != 0.0;
}

Bool_t AliGenHepMCEventHeader::PDFValid() {
   return fid1 != 0 ||
         fid2 != 0 ||
         fpdf_id1 != 0 ||
         fpdf_id2 != 0 ||
         fx1 != 0.0 ||
         fx2 != 0.0 ||
         fscalePDF != 0.0 ||
         fpdf1 != 0.0 ||
         fpdf2 != 0.0;
}
 AliGenHepMCEventHeader.cxx:1
 AliGenHepMCEventHeader.cxx:2
 AliGenHepMCEventHeader.cxx:3
 AliGenHepMCEventHeader.cxx:4
 AliGenHepMCEventHeader.cxx:5
 AliGenHepMCEventHeader.cxx:6
 AliGenHepMCEventHeader.cxx:7
 AliGenHepMCEventHeader.cxx:8
 AliGenHepMCEventHeader.cxx:9
 AliGenHepMCEventHeader.cxx:10
 AliGenHepMCEventHeader.cxx:11
 AliGenHepMCEventHeader.cxx:12
 AliGenHepMCEventHeader.cxx:13
 AliGenHepMCEventHeader.cxx:14
 AliGenHepMCEventHeader.cxx:15
 AliGenHepMCEventHeader.cxx:16
 AliGenHepMCEventHeader.cxx:17
 AliGenHepMCEventHeader.cxx:18
 AliGenHepMCEventHeader.cxx:19
 AliGenHepMCEventHeader.cxx:20
 AliGenHepMCEventHeader.cxx:21
 AliGenHepMCEventHeader.cxx:22
 AliGenHepMCEventHeader.cxx:23
 AliGenHepMCEventHeader.cxx:24
 AliGenHepMCEventHeader.cxx:25
 AliGenHepMCEventHeader.cxx:26
 AliGenHepMCEventHeader.cxx:27
 AliGenHepMCEventHeader.cxx:28
 AliGenHepMCEventHeader.cxx:29
 AliGenHepMCEventHeader.cxx:30
 AliGenHepMCEventHeader.cxx:31
 AliGenHepMCEventHeader.cxx:32
 AliGenHepMCEventHeader.cxx:33
 AliGenHepMCEventHeader.cxx:34
 AliGenHepMCEventHeader.cxx:35
 AliGenHepMCEventHeader.cxx:36
 AliGenHepMCEventHeader.cxx:37
 AliGenHepMCEventHeader.cxx:38
 AliGenHepMCEventHeader.cxx:39
 AliGenHepMCEventHeader.cxx:40
 AliGenHepMCEventHeader.cxx:41
 AliGenHepMCEventHeader.cxx:42
 AliGenHepMCEventHeader.cxx:43
 AliGenHepMCEventHeader.cxx:44
 AliGenHepMCEventHeader.cxx:45
 AliGenHepMCEventHeader.cxx:46
 AliGenHepMCEventHeader.cxx:47
 AliGenHepMCEventHeader.cxx:48
 AliGenHepMCEventHeader.cxx:49
 AliGenHepMCEventHeader.cxx:50
 AliGenHepMCEventHeader.cxx:51
 AliGenHepMCEventHeader.cxx:52
 AliGenHepMCEventHeader.cxx:53
 AliGenHepMCEventHeader.cxx:54
 AliGenHepMCEventHeader.cxx:55
 AliGenHepMCEventHeader.cxx:56
 AliGenHepMCEventHeader.cxx:57
 AliGenHepMCEventHeader.cxx:58
 AliGenHepMCEventHeader.cxx:59
 AliGenHepMCEventHeader.cxx:60
 AliGenHepMCEventHeader.cxx:61
 AliGenHepMCEventHeader.cxx:62
 AliGenHepMCEventHeader.cxx:63
 AliGenHepMCEventHeader.cxx:64
 AliGenHepMCEventHeader.cxx:65
 AliGenHepMCEventHeader.cxx:66
 AliGenHepMCEventHeader.cxx:67
 AliGenHepMCEventHeader.cxx:68
 AliGenHepMCEventHeader.cxx:69
 AliGenHepMCEventHeader.cxx:70
 AliGenHepMCEventHeader.cxx:71
 AliGenHepMCEventHeader.cxx:72
 AliGenHepMCEventHeader.cxx:73
 AliGenHepMCEventHeader.cxx:74
 AliGenHepMCEventHeader.cxx:75
 AliGenHepMCEventHeader.cxx:76
 AliGenHepMCEventHeader.cxx:77
 AliGenHepMCEventHeader.cxx:78
 AliGenHepMCEventHeader.cxx:79
 AliGenHepMCEventHeader.cxx:80
 AliGenHepMCEventHeader.cxx:81
 AliGenHepMCEventHeader.cxx:82
 AliGenHepMCEventHeader.cxx:83
 AliGenHepMCEventHeader.cxx:84
 AliGenHepMCEventHeader.cxx:85
 AliGenHepMCEventHeader.cxx:86
 AliGenHepMCEventHeader.cxx:87
 AliGenHepMCEventHeader.cxx:88
 AliGenHepMCEventHeader.cxx:89
 AliGenHepMCEventHeader.cxx:90
 AliGenHepMCEventHeader.cxx:91
 AliGenHepMCEventHeader.cxx:92
 AliGenHepMCEventHeader.cxx:93
 AliGenHepMCEventHeader.cxx:94
 AliGenHepMCEventHeader.cxx:95
 AliGenHepMCEventHeader.cxx:96
 AliGenHepMCEventHeader.cxx:97
 AliGenHepMCEventHeader.cxx:98
 AliGenHepMCEventHeader.cxx:99
 AliGenHepMCEventHeader.cxx:100
 AliGenHepMCEventHeader.cxx:101
 AliGenHepMCEventHeader.cxx:102
 AliGenHepMCEventHeader.cxx:103
 AliGenHepMCEventHeader.cxx:104
 AliGenHepMCEventHeader.cxx:105
 AliGenHepMCEventHeader.cxx:106
 AliGenHepMCEventHeader.cxx:107
 AliGenHepMCEventHeader.cxx:108
 AliGenHepMCEventHeader.cxx:109
 AliGenHepMCEventHeader.cxx:110
 AliGenHepMCEventHeader.cxx:111
 AliGenHepMCEventHeader.cxx:112
 AliGenHepMCEventHeader.cxx:113
 AliGenHepMCEventHeader.cxx:114
 AliGenHepMCEventHeader.cxx:115
 AliGenHepMCEventHeader.cxx:116
 AliGenHepMCEventHeader.cxx:117
 AliGenHepMCEventHeader.cxx:118
 AliGenHepMCEventHeader.cxx:119
 AliGenHepMCEventHeader.cxx:120
 AliGenHepMCEventHeader.cxx:121
 AliGenHepMCEventHeader.cxx:122
 AliGenHepMCEventHeader.cxx:123
 AliGenHepMCEventHeader.cxx:124
 AliGenHepMCEventHeader.cxx:125
 AliGenHepMCEventHeader.cxx:126
 AliGenHepMCEventHeader.cxx:127
 AliGenHepMCEventHeader.cxx:128
 AliGenHepMCEventHeader.cxx:129
 AliGenHepMCEventHeader.cxx:130
 AliGenHepMCEventHeader.cxx:131
 AliGenHepMCEventHeader.cxx:132
 AliGenHepMCEventHeader.cxx:133
 AliGenHepMCEventHeader.cxx:134
 AliGenHepMCEventHeader.cxx:135
 AliGenHepMCEventHeader.cxx:136
 AliGenHepMCEventHeader.cxx:137
 AliGenHepMCEventHeader.cxx:138
 AliGenHepMCEventHeader.cxx:139
 AliGenHepMCEventHeader.cxx:140
 AliGenHepMCEventHeader.cxx:141
 AliGenHepMCEventHeader.cxx:142
 AliGenHepMCEventHeader.cxx:143
 AliGenHepMCEventHeader.cxx:144
 AliGenHepMCEventHeader.cxx:145
 AliGenHepMCEventHeader.cxx:146
 AliGenHepMCEventHeader.cxx:147
 AliGenHepMCEventHeader.cxx:148
 AliGenHepMCEventHeader.cxx:149
 AliGenHepMCEventHeader.cxx:150
 AliGenHepMCEventHeader.cxx:151
 AliGenHepMCEventHeader.cxx:152
 AliGenHepMCEventHeader.cxx:153