]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVGEN/AliGenHaloProtvino.h
New classes to handle the vertex in simulation (T.Kuhr)
[u/mrichter/AliRoot.git] / EVGEN / AliGenHaloProtvino.h
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:
19     enum constants{kY1Day0, kY1Day70, kY2D0, kY2D10, kY3D90};
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();
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;}
32     
33
34     AliGenHaloProtvino & operator=(const AliGenHaloProtvino & rhs);
35
36 protected:
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  private:
46   void Copy(TObject&) const;
47   ClassDef(AliGenHaloProtvino,1)        //   LHC background boundary source (Protvino Group results)
48       
49
50 };
51 #endif
52
53
54
55
56
57