]>
Commit | Line | Data |
---|---|---|
11141716 | 1 | #ifndef ALILHCBEAM_H |
2 | #define ALILHCBAEM_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 | #include <TNamed.h> | |
8 | #include "AliLhcMonitor.h" | |
9 | ||
10 | class AliLHC; | |
11 | ||
12 | class AliLhcBeam : public TNamed, public AliLhcMonitor | |
13 | { | |
14 | public: | |
15 | AliLhcBeam(AliLHC* lhc); | |
16 | AliLhcBeam(const AliLhcBeam &beam); | |
17 | virtual ~AliLhcBeam(); | |
18 | ||
19 | virtual void Init(); | |
20 | ||
21 | virtual Float_t N() {return fN;} | |
22 | virtual Float_t A() {return fA;} | |
23 | virtual Float_t Z() {return fZ;} | |
24 | virtual Float_t Emittance() {return fEmittance;} | |
25 | virtual Float_t Energy() {return fEnergy;} | |
26 | virtual Float_t Gamma() {return fGamma;} | |
27 | virtual Float_t LongEmittance() {return fEmittanceL;} | |
28 | virtual Float_t EnergySpread() {return fEnergySpread;} | |
29 | ||
30 | virtual void SetParticle(Float_t a, Float_t z) {fA = a; fZ = z;} | |
31 | virtual void SetN(Float_t n) {fN = n;} | |
32 | virtual void SetAccelerator(AliLHC* acc) {fAccelerator = acc;} | |
33 | virtual void SetEnergy(Float_t e) {fEnergy = e;} | |
34 | virtual void SetNEmittance(Float_t e) {fNEmittance = e;} | |
35 | virtual void SetLongEmittance(Float_t e) {fEmittanceL = e;} | |
36 | virtual void SetEnergySpread(Float_t b) {fEnergySpread = b;} | |
37 | ||
38 | virtual void RemoveParticles(Float_t loss); | |
39 | virtual void IncreaseEmittance(Float_t de, Float_t del); | |
40 | virtual void SetMonitor(Int_t n); | |
41 | virtual void Record(); | |
42 | virtual void DrawPlots(); | |
43 | ||
44 | ||
45 | AliLhcBeam & operator=(const AliLhcBeam & rhs); | |
46 | ||
47 | protected: | |
48 | AliLHC* fAccelerator; // Accelerator | |
49 | Float_t fN; // Number of Particles | |
50 | Float_t fN0; // Initial Number of Particles | |
51 | Float_t fNEmittance; // Normalized Emittance | |
52 | Float_t fEmittance; // Emittance | |
53 | Float_t fEmittance0; // Initial Emittance | |
54 | Float_t fEmittanceL; // Longitudinal Emittance | |
55 | Float_t fEmittanceL0; // Longitudinal Emittance | |
56 | Float_t fEnergySpread; // Energy Spread | |
57 | ||
58 | Float_t fA; // Atomic Number | |
59 | Float_t fZ; // Charge Number | |
60 | Float_t fEnergy; // Energy | |
61 | Float_t fGamma; // relativistic gamma | |
62 | // | |
63 | Float_t* fTimeArray; // [fNmax] Time array | |
64 | Float_t* fEmittanceArray; // [fNmax] Emittance array | |
65 | Float_t* fEmittanceLArray; // [fNmax] Long. Emittance array | |
66 | // | |
67 | ClassDef(AliLhcBeam,1) // LHC Beam | |
68 | }; | |
69 | ||
70 | #endif | |
71 | ||
72 | ||
73 | ||
74 | ||
75 |