]> git.uio.no Git - u/mrichter/AliRoot.git/blame - RALICE/AliCollider.h
AliCollisionGeometry moved to STEER
[u/mrichter/AliRoot.git] / RALICE / AliCollider.h
CommitLineData
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
18class 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