1 #ifndef ALIGENHALOPROTVINO_H
2 #define ALIGENHALOPROTVINO_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
9 #include "AliGenerator.h"
12 // Read background particles from a boundary source
13 // Very specialized generator to simulate background from beam halo.
14 // Author: andreas.morsch@cern.ch
16 class AliGenHaloProtvino : public AliGenerator
19 enum constants{kY1Day0, kY1Day70, kY2D0, kY2D10, kY3D90};
21 AliGenHaloProtvino(Int_t npart);
22 AliGenHaloProtvino(const AliGenHaloProtvino &HaloProtvino);
23 virtual ~AliGenHaloProtvino();
25 virtual void SetFileName(TString filename) {fFileName=TString(filename);}
26 virtual void Generate();
27 virtual Float_t GassPressureWeight(Float_t zPrimary);
28 virtual void SetSide(Int_t flag = 1) {fSide = flag;}
29 virtual void SetNskip(Int_t nskip) {fNskip = nskip;}
30 virtual void SetRunPeriod(Int_t t = kY3D90) {fRunPeriod = t;}
31 virtual void SetTimePerEvent(Float_t t = 1.e-4) {fTimePerEvent = t;}
34 AliGenHaloProtvino & operator=(const AliGenHaloProtvino & rhs);
37 FILE* fFile; // ! Pointer to file
38 TString fFileName; // Choose the file
39 Int_t fSide; // Muon arm side (1) / Castor side (-1)
40 Int_t fRunPeriod; // LHC Running Period
41 Float_t fTimePerEvent; // Time corresponding to one event [s]
42 Int_t fNskip; // Number of entries to skip
43 Float_t fZ1[21], fZ2[21]; // ! z-positions for gas pressure tables
44 Float_t fG1[21][5], fG2[21][5]; // ! gas pressures
45 ClassDef(AliGenHaloProtvino,1) // LHC background boundary source (Protvino Group results)