14ab5373 |
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 */ |
5 | |
6 | /* $Id $ */ |
7 | |
8 | |
9 | #include "AliGenerator.h" |
10 | #include <TString.h> |
11 | |
12 | // Read background particles from a boundary source |
13 | // Very specialized generator to simulate background from beam halo. |
14 | // Author: andreas.morsch@cern.ch |
15 | |
16 | class AliGenHaloProtvino : public AliGenerator |
17 | { |
18 | public: |
d41a82ac |
19 | enum constants{kY1Day0, kY1Day70, kY2D0, kY2D10, kY3D90, kLHCPR674Startup, kLHCPR674Conditioned}; |
14ab5373 |
20 | AliGenHaloProtvino(); |
21 | AliGenHaloProtvino(Int_t npart); |
22 | AliGenHaloProtvino(const AliGenHaloProtvino &HaloProtvino); |
23 | virtual ~AliGenHaloProtvino(); |
24 | virtual void Init(); |
25 | virtual void SetFileName(TString filename) {fFileName=TString(filename);} |
26 | virtual void Generate(); |
d41a82ac |
27 | virtual Float_t GasPressureWeight(Float_t zPrimary); |
154d524b |
28 | virtual void SetSide(Int_t flag = 1) {fSide = flag;} |
05df024b |
29 | virtual void SetNskip(Int_t nskip) {fNskip = nskip;} |
eac2c8a3 |
30 | virtual void SetRunPeriod(Int_t t = kY3D90) {fRunPeriod = t;} |
7f98ef21 |
31 | virtual void SetTimePerEvent(Float_t t = 1.e-4) {fTimePerEvent = t;} |
d41a82ac |
32 | virtual void Draw(); |
14ab5373 |
33 | AliGenHaloProtvino & operator=(const AliGenHaloProtvino & rhs); |
0af12c00 |
34 | |
14ab5373 |
35 | protected: |
154d524b |
36 | FILE* fFile; // ! Pointer to file |
14ab5373 |
37 | TString fFileName; // Choose the file |
eac2c8a3 |
38 | Int_t fSide; // Muon arm side (1) / Castor side (-1) |
7f98ef21 |
39 | Int_t fRunPeriod; // LHC Running Period |
40 | Float_t fTimePerEvent; // Time corresponding to one event [s] |
eac2c8a3 |
41 | Int_t fNskip; // Number of entries to skip |
d41a82ac |
42 | Float_t* fZ1; // ! z-positions for gas pressure tables |
43 | Float_t* fZ2; // ! z-positions for gas pressure tables |
44 | Float_t* fG1; // ! gas pressures |
45 | Float_t* fG2; // ! gas pressures |
46 | Int_t fGPASize; // ! Size of arrays |
0af12c00 |
47 | private: |
dc1d768c |
48 | void Copy(TObject&) const; |
154d524b |
49 | ClassDef(AliGenHaloProtvino,1) // LHC background boundary source (Protvino Group results) |
0af12c00 |
50 | |
51 | |
14ab5373 |
52 | }; |
53 | #endif |
54 | |
55 | |
56 | |
57 | |
58 | |
59 | |