]>
Commit | Line | Data |
---|---|---|
fdbea0ce | 1 | #ifndef ALICOLLIDER_H |
2 | #define ALICOLLIDER_H | |
45575004 | 3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
4 | * See cxx source for full Copyright notice */ | |
fdbea0ce | 5 | |
45575004 | 6 | // $Id: AliCollider.h,v 1.2 2002/12/02 15:10:37 nick Exp $ |
fdbea0ce | 7 | |
8 | #include "Riostream.h" | |
9 | #include "TPythia6.h" | |
10 | #include "TMCParticle.h" | |
11 | #include "TString.h" | |
12 | #include "TFile.h" | |
13 | #include "TTree.h" | |
14 | ||
15 | #include "AliEvent.h" | |
16 | #include "AliRandom.h" | |
17 | ||
18 | class AliCollider : public TPythia6 | |
19 | { | |
20 | public: | |
21 | AliCollider(); // Default constructor | |
22 | ~AliCollider(); // Default destructor | |
23 | void SetOutputFile(TString name); // Initialise the ROOT output data file | |
24 | void SetVertexMode(Int_t mode); // Select mode for (sec.) vertex structure creation | |
25 | Int_t GetVertexMode(); // Provide vertex structure creation mode | |
26 | void SetResolution(Double_t res); // Set resolution (in cm) for resolving (sec.) vertices | |
27 | Double_t GetResolution(); // Provide (sec.) vertex resolving resolution (in cm) | |
28 | void SetRunNumber(Int_t run); // Set user defined run number | |
29 | Int_t GetRunNumber(); // Provide the user defined run number | |
30 | void SetPrintFreq(Int_t n); // Set print frequency for every 'n' events | |
31 | Int_t GetPrintFreq(); // Provide the print frequency | |
32 | void Init(char* frame,char* beam,char* target,Float_t win); // Standard Pythia initialisation | |
33 | void Init(char* frame,Int_t zp,Int_t ap,Int_t zt,Int_t at,Float_t win); // Nucl-Nucl initialisation | |
da17f667 | 34 | void MakeEvent(Int_t npt,Int_t mlist=-1,Int_t medit=1);// Generate a single event with npt participant nucleons |
fdbea0ce | 35 | void EndRun(); // Properly close all buffers and output file |
36 | AliEvent* GetEvent(); // Provide pointer to the generated event structure | |
37 | ||
38 | protected: | |
39 | Int_t fVertexmode; // The vertex structure creation mode | |
40 | Double_t fResolution; // The resolution (in cm) for resolving (sec.) vertices | |
41 | Int_t fRunnum; // The user defined run number | |
42 | Int_t fEventnum; // The automatically updated event number | |
43 | Int_t fPrintfreq; // The user selected print frequency | |
44 | char* fFrame; // The Pythia frame indicator | |
45 | Float_t fWin; // The Pythia energy indicator | |
46 | Int_t fNucl; // Flag to denote nucleus-nucleus (1) or standard Pythia (0) running | |
47 | Int_t fZproj; // Z of the projectile particle | |
48 | Int_t fAproj; // A of the projectile particle | |
49 | Int_t fZtarg; // Z of the target particle | |
50 | Int_t fAtarg; // A of the target particle | |
51 | Float_t fFracpp; // Fraction of p+p collisions | |
52 | Float_t fFracnp; // Fraction of n+p collisions | |
53 | Float_t fFracpn; // Fraction of p+n collisions | |
54 | Float_t fFracnn; // Fraction of n+n collisions | |
55 | AliRandom fRan; // Random number generator | |
56 | AliEvent* fEvent; // The produced event structure | |
57 | ||
58 | TFile* fOutFile; // The user defined output data file | |
59 | TTree* fOutTree; // The standard ROOT output tree | |
60 | ||
61 | void GetFractions(Float_t zp,Float_t ap,Float_t zt,Float_t at); // Determine various N-N collision fractions | |
62 | ||
da17f667 | 63 | ClassDef(AliCollider,2) // Pythia based universal physics event generator |
fdbea0ce | 64 | }; |
65 | #endif |