]> git.uio.no Git - u/mrichter/AliRoot.git/blame - LHC/AliLHC.h
Bypass buggy TMacro ctor (caused problems on paths including '.', like /afs/cern...
[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$ */
21aa51f2 7
8//
9// Class for a simple description of the LHC.
10// The LHC is described by two beams,
11// the interaction regions and the
12// beam loss processes.
13// Run paramters can be set in order to simulate the time evolution
14// of emittance, number of particles per bunch and luminosity.
15// Author: Andreas Morsch
16// andreas.morsch@cern.ch
17
11141716 18#include <TObject.h>
19#include <TList.h>
20#include <TObjArray.h>
21
22class AliLhcIRegion;
23class AliLhcProcess;
24class AliLhcBeam;
25
26
27class AliLHC : public TObject
28{
29 public:
30 AliLHC();
31 AliLHC(const AliLHC &lhc);
32 virtual ~AliLHC();
33
34 virtual void AddIRegion(AliLhcIRegion *region);
35 virtual void AddProcess(AliLhcProcess *process);
36 virtual void SetBeams(AliLhcBeam* beam1, AliLhcBeam* beam2);
37 virtual void SetTime(Float_t dt, Float_t tmax)
38 {fTimeStep = dt; fTimeMax = tmax;}
39 virtual void SetFillingTime(Float_t t) {fFillingTime = t;}
40 virtual void SetSetUpTime(Float_t t) {fSetUpTime = t;}
41
42 virtual void SetRadius(Float_t r) {fRadius = r;}
43 virtual void SetAverageBeta(Float_t b) {fAverageBeta = b;}
44 virtual void SetAverageDisp(Float_t b) {fAverageDisp = b;}
45
21aa51f2 46 virtual Float_t Radius() const {return fRadius;}
47 virtual Float_t AverageBeta() const {return fAverageBeta;}
48 virtual Float_t AverageDisp() const {return fAverageDisp;}
49 virtual Float_t SetUpTime() const {return fSetUpTime;}
50 virtual Float_t FillingTime() const {return fFillingTime;}
11141716 51
52
53 virtual AliLhcBeam* Beam(Int_t i)
54 {return (AliLhcBeam*) (*fBeams)[i];}
21aa51f2 55 virtual TList* IRegions() const {return fIRegions;}
11141716 56 virtual void Init();
57 virtual void EvolveTime();
58 virtual void Evaluate();
21aa51f2 59 virtual Float_t Time() const {return fTime;}
60 virtual Float_t TimeStep() const {return fTimeStep;}
61 virtual Float_t* TimeA() const {return fTimeA;}
62 virtual Int_t Nt() const {return fNt;}
11141716 63
64 AliLHC & operator=(const AliLHC & rhs);
65
66 protected:
67 Int_t fNRegions; // Number of IR
68 Int_t fNProcesses; // Number of processes
69 TList* fIRegions; // List of intercation regions
70 TList* fProcesses; // Beam processes
71 TObjArray* fBeams; // Lhc beams
72 Float_t fRadius; // Radius (cm)
73 Float_t fAverageBeta; // Average beta (cm)
74 Float_t fAverageDisp; // Average dispersion (cm)
75
76 Int_t fNt; // Number of time steps
77 Int_t fNmax; // Max. Number of time steps
78
79 Float_t fTime; // Current time
80 Float_t* fTimeA; // [fNmax] Current time
81 Float_t fTimeStep; // Current time step
82 Float_t fTimeMax; // Maximal time
83 //
84 Float_t fFillingTime; // Filling Time
85 Float_t fSetUpTime; // Set-up time
86//
87 ClassDef(AliLHC,1) // LHC manager class
88};
89
90#endif
91
92
93
94
95
96
97
98
99