]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVGEN/AliGenHalo.h
Fix for bug #60085: compilation error due to build system. The LANGUAGE variable...
[u/mrichter/AliRoot.git] / EVGEN / AliGenHalo.h
CommitLineData
f87cfe57 1#ifndef ALIGENHALO_H
2#define ALIGENHALO_H
3da30618 3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
f87cfe57 8
fe4da5cc 9#include "AliGenerator.h"
bd1cece1 10#include <TString.h>
675e9664 11
d12ebe74 12// Read beam halo background particles from a boundary source
13// Boundary source is in the LHCb format
14// http://www.hep.manchester.ac.uk/u/robert/LHC_backgrounds/Note-MIBStudies.pdf
15// and has been provided by Robert Appleby
675e9664 16// Author: andreas.morsch@cern.ch
fe4da5cc 17
18class AliGenHalo : public AliGenerator
19{
d12ebe74 20public:
21 enum constants{kY1Day0, kY1Day70, kY2D0, kY2D10, kY3D90, kLHCPR674Startup, kLHCPR674Conditioned};
fe4da5cc 22 AliGenHalo();
23 AliGenHalo(Int_t npart);
24 virtual ~AliGenHalo();
25 virtual void Init();
bd1cece1 26 virtual void SetFileName(TString filename) {fFileName=TString(filename);}
fe4da5cc 27 virtual void Generate();
d12ebe74 28 virtual Float_t GasPressureWeight(Float_t zPrimary);
29 virtual void SetSide(Int_t flag = 1) {fSide = flag;}
30 virtual void SetNskip(Int_t nskip) {fNskip = nskip;}
31 virtual void SetRunPeriod(Int_t t = kY3D90) {fRunPeriod = t;}
32 virtual void SetTimePerEvent(Float_t t = 1.e-4) {fTimePerEvent = t;}
33 virtual void Draw(Option_t * opt="");
34 private:
35 virtual Int_t ReadNextParticle();
198bb1c7 36 protected:
d12ebe74 37 FILE* fFile; // ! Pointer to file
198bb1c7 38 TString fFileName; // Choose the file
d12ebe74 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; // ! z-positions for gas pressure tables
44 Float_t* fZ2; // ! z-positions for gas pressure tables
45 Float_t* fG1; // ! gas pressures
46 Float_t* fG2; // ! gas pressures
47 Int_t fGPASize; // ! Size of arrays
48 Int_t fLossID; // ! unique loss ID
49 Int_t fLossA; // ! atomic number of scatterer
50 Int_t fPdg; // ! pdg code
51 Float_t fLossT0; // ! relative time
52 Float_t fLossZ; // ! scaterring position
53 Float_t fLossW; // ! weight of proton loss
54 Float_t fXS; // ! x-position on scoring plane
55 Float_t fYS; // ! y-position on scoring plane
56 Float_t fZS; // ! z-position on scoring plane
57 Float_t fDX; // ! direction cosine x
58 Float_t fDY; // ! direction cosine y
59 Float_t fEkin; // ! kinetic energy
60 Float_t fTS; // ! relative arrival time
61 Float_t fWS; // ! weight
ac3faee4 62 private:
93a2041b 63 AliGenHalo(const AliGenHalo &Halo);
64 AliGenHalo & operator=(const AliGenHalo & rhs);
d12ebe74 65
66 ClassDef(AliGenHalo,1) // LHC beam halo boundary source
fe4da5cc 67};
68#endif
69
70
71
72
73
74