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, kLHCPR674Startup, kLHCPR674Conditioned};
21 AliGenHaloProtvino(Int_t npart);
22 virtual ~AliGenHaloProtvino();
24 virtual void SetFileName(TString filename) {fFileName=TString(filename);}
25 virtual void Generate();
26 virtual Float_t GasPressureWeight(Float_t zPrimary);
27 virtual void SetSide(Int_t flag = 1) {fSide = flag;}
28 virtual void SetNskip(Int_t nskip) {fNskip = nskip;}
29 virtual void SetRunPeriod(Int_t t = kY3D90) {fRunPeriod = t;}
30 virtual void SetTimePerEvent(Float_t t = 1.e-4) {fTimePerEvent = t;}
31 virtual void Draw(Option_t * opt="");
34 FILE* fFile; // ! Pointer to file
35 TString fFileName; // Choose the file
36 Int_t fSide; // Muon arm side (1) / Castor side (-1)
37 Int_t fRunPeriod; // LHC Running Period
38 Float_t fTimePerEvent; // Time corresponding to one event [s]
39 Int_t fNskip; // Number of entries to skip
40 Float_t* fZ1; // ! z-positions for gas pressure tables
41 Float_t* fZ2; // ! z-positions for gas pressure tables
42 Float_t* fG1; // ! gas pressures
43 Float_t* fG2; // ! gas pressures
44 Int_t fGPASize; // ! Size of arrays
46 AliGenHaloProtvino(const AliGenHaloProtvino &HaloProtvino);
47 AliGenHaloProtvino & operator=(const AliGenHaloProtvino & rhs);
49 ClassDef(AliGenHaloProtvino,1) // LHC background boundary source (Protvino Group results)