]> git.uio.no Git - u/mrichter/AliRoot.git/blame - LHC/AliLHC.h
New methods and data member added by M. Horner.
[u/mrichter/AliRoot.git] / LHC / AliLHC.h
CommitLineData
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
11class AliLhcIRegion;
12class AliLhcProcess;
13class AliLhcBeam;
14
15
16class 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