]>
Commit | Line | Data |
---|---|---|
11141716 | 1 | #ifndef ALILHC_H |
2 | #define ALILHC_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 <TObject.h> | |
8 | #include <TList.h> | |
9 | #include <TObjArray.h> | |
10 | ||
11 | class AliLhcIRegion; | |
12 | class AliLhcProcess; | |
13 | class AliLhcBeam; | |
14 | ||
15 | ||
16 | class AliLHC : public TObject | |
17 | { | |
18 | public: | |
19 | AliLHC(); | |
20 | AliLHC(const AliLHC &lhc); | |
21 | virtual ~AliLHC(); | |
22 | ||
23 | virtual void AddIRegion(AliLhcIRegion *region); | |
24 | virtual void AddProcess(AliLhcProcess *process); | |
25 | virtual void SetBeams(AliLhcBeam* beam1, AliLhcBeam* beam2); | |
26 | virtual void SetTime(Float_t dt, Float_t tmax) | |
27 | {fTimeStep = dt; fTimeMax = tmax;} | |
28 | virtual void SetFillingTime(Float_t t) {fFillingTime = t;} | |
29 | virtual void SetSetUpTime(Float_t t) {fSetUpTime = t;} | |
30 | ||
31 | virtual void SetRadius(Float_t r) {fRadius = r;} | |
32 | virtual void SetAverageBeta(Float_t b) {fAverageBeta = b;} | |
33 | virtual void SetAverageDisp(Float_t b) {fAverageDisp = b;} | |
34 | ||
35 | virtual Float_t Radius() {return fRadius;} | |
36 | virtual Float_t AverageBeta() {return fAverageBeta;} | |
37 | virtual Float_t AverageDisp() {return fAverageDisp;} | |
38 | virtual Float_t SetUpTime() {return fSetUpTime;} | |
39 | virtual Float_t FillingTime() {return fFillingTime;} | |
40 | ||
41 | ||
42 | virtual AliLhcBeam* Beam(Int_t i) | |
43 | {return (AliLhcBeam*) (*fBeams)[i];} | |
44 | virtual TList* IRegions(){return fIRegions;} | |
45 | virtual void Init(); | |
46 | virtual void EvolveTime(); | |
47 | virtual void Evaluate(); | |
48 | virtual Float_t Time() {return fTime;} | |
49 | virtual Float_t TimeStep() {return fTimeStep;} | |
50 | virtual Float_t* TimeA() {return fTimeA;} | |
51 | virtual Int_t Nt() {return fNt;} | |
52 | ||
53 | AliLHC & operator=(const AliLHC & rhs); | |
54 | ||
55 | protected: | |
56 | Int_t fNRegions; // Number of IR | |
57 | Int_t fNProcesses; // Number of processes | |
58 | TList* fIRegions; // List of intercation regions | |
59 | TList* fProcesses; // Beam processes | |
60 | TObjArray* fBeams; // Lhc beams | |
61 | Float_t fRadius; // Radius (cm) | |
62 | Float_t fAverageBeta; // Average beta (cm) | |
63 | Float_t fAverageDisp; // Average dispersion (cm) | |
64 | ||
65 | Int_t fNt; // Number of time steps | |
66 | Int_t fNmax; // Max. Number of time steps | |
67 | ||
68 | Float_t fTime; // Current time | |
69 | Float_t* fTimeA; // [fNmax] Current time | |
70 | Float_t fTimeStep; // Current time step | |
71 | Float_t fTimeMax; // Maximal time | |
72 | // | |
73 | Float_t fFillingTime; // Filling Time | |
74 | Float_t fSetUpTime; // Set-up time | |
75 | // | |
76 | ClassDef(AliLHC,1) // LHC manager class | |
77 | }; | |
78 | ||
79 | #endif | |
80 | ||
81 | ||
82 | ||
83 | ||
84 | ||
85 | ||
86 | ||
87 | ||
88 |