Fix for the loophole in the magnets currents check: the L3Off/DipON was passing the...
[u/mrichter/AliRoot.git] / LHC / AliLhcIRegion.h
1 #ifndef ALILHCIREGION_H
2 #define ALILHCIREGION_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
8 //
9 // Realisation of AliLhcMonitor simulating an LHC interaction region.
10 // The interaction region is described by the two LHC beams,
11 // by the beta* and the crossing angle. 
12 // As a monitor it records the luminosity, average luminosity and beta*
13 // time evolution.
14 // Author: Andreas Morsch
15 // andreas.morsch@cern.ch
16 //
17 #include <TNamed.h>
18 #include "AliLhcMonitor.h"
19
20 class AliLHC;
21 class AliLhcBeam;
22
23 class AliLhcIRegion : public TNamed, public AliLhcMonitor
24 {
25  public:
26     AliLhcIRegion(AliLHC* lhc, const char* name, const char* tile);
27     AliLhcIRegion(const AliLhcIRegion &region);
28     virtual ~AliLhcIRegion();
29     AliLhcIRegion & operator=(const AliLhcIRegion & rhs);
30     
31     virtual void Init();
32     virtual Float_t Luminosity();
33     virtual Float_t InitialLumi()   const {return fLuminosity0;}
34     virtual Float_t BetaStar()      const {return fBetaStar;}
35     virtual void  SetBetaStar(Float_t beta) {fBetaStar = beta;}
36     virtual void  SetCrossingAngle(Float_t angle) {fCrossingAngle = angle;}         
37     virtual void  SetAccelerator(AliLHC* acc) {fAccelerator = acc;}
38     virtual void  Update();
39     virtual void  SetMonitor(Int_t n);
40     virtual void  Record();
41     virtual void  DrawPlots();
42
43  protected:
44     AliLHC*     fAccelerator;         // Accelerator
45     AliLhcBeam* fBeam1;               // Beam1
46     AliLhcBeam* fBeam2;               // Beam2       
47     Float_t     fLuminosity;          // Luminosity
48     Float_t     fLuminosity0;         // Initial Luminosity
49     Float_t     fAverageLumi;         // Average Initial Luminosity
50     Float_t     fBetaStar;            // Beta*
51     Float_t     fBetaStar0;           // Initial Beta*
52     Float_t     fCrossingAngle;       // Crossing Angle
53     Float_t     fFrequency;           // Frequency
54     Float_t*    fLumiArray;           // [fNmax] Luminosity(t)
55     Float_t*    fAverageLumiArray;    // [fNmax] Average Luminosity(t)
56     Float_t*    fBetaStarArray;       // [fNmax] Beta*(t)
57 //
58     ClassDef(AliLhcIRegion,1) // LHC Interaction Region
59 };
60
61 #endif
62
63
64
65
66