/* $Id$ */
+//
+// Realisation of AliLhcMonitor simulating an LHC interaction region.
+// The interaction region is described by the two LHC beams,
+// by the beta* and the crossing angle.
+// As a monitor it records the luminosity, average luminosity and beta*
+// time evolution.
+// Author: Andreas Morsch
+// andreas.morsch@cern.ch
+//
#include "AliLhcIRegion.h"
#include "AliLhcBeam.h"
#include "AliLHC.h"
ClassImp(AliLhcIRegion)
AliLhcIRegion::AliLhcIRegion(AliLHC* lhc, const char* name, const char* title)
- :TNamed(name,title)
+ :TNamed(name,title),
+ fAccelerator(lhc),
+ fBeam1(0),
+ fBeam2(0),
+ fLuminosity(0.),
+ fLuminosity0(0.),
+ fAverageLumi(0.),
+ fBetaStar(0.),
+ fBetaStar0(0.),
+ fCrossingAngle(0.),
+ fFrequency(0.),
+ fLumiArray(0),
+ fAverageLumiArray(0),
+ fBetaStarArray(0)
{
// Constructor
- fAccelerator=lhc;
- fLumiArray = 0;
- fAverageLumiArray = 0;
- fBetaStarArray = 0;
}
-AliLhcIRegion::AliLhcIRegion(const AliLhcIRegion& region)
- : TNamed(region), AliLhcMonitor(region)
+AliLhcIRegion::AliLhcIRegion(const AliLhcIRegion& region):
+ TNamed(region), AliLhcMonitor(region),
+ fAccelerator(0),
+ fBeam1(0),
+ fBeam2(0),
+ fLuminosity(0.),
+ fLuminosity0(0.),
+ fAverageLumi(0.),
+ fBetaStar(0.),
+ fBetaStar0(0.),
+ fCrossingAngle(0.),
+ fFrequency(0.),
+ fLumiArray(0),
+ fAverageLumiArray(0),
+ fBetaStarArray(0)
{
// copy constructor
}
Float_t* t = fAccelerator->TimeA();
//
char name1[20], name2[20], hname[20];
- sprintf(name1,"c%s",GetName());
- sprintf(name2,"b%s",GetName());
+ snprintf(name1,20, "c%s",GetName());
+ snprintf(name2,20, "b%s",GetName());
char title[30];
- sprintf(title,"Luminosity Lifetime for %s",GetName());
+ snprintf(title,30, "Luminosity Lifetime for %s",GetName());
//
- sprintf(hname,"%s%d",name1,0);
+ snprintf(hname,20, "%s%d",name1,0);
TH1 *g1 = new TH1F(hname,"Luminosity",fNmax,0,t[fNmax]);
g1->SetMinimum(0);
g1->SetMaximum(fLumiArray[0]*1.1);
g1->SetStats(0);
g1->GetXaxis()->SetTitle("t (h)");
g1->GetYaxis()->SetTitle("L(t) (cm**-2 s**-1)");
- sprintf(hname,"%s%d",name1,1);
+ snprintf(hname,20, "%s%d",name1,1);
TH1 *g2 = new TH1F(hname,"Luminosity",fNmax,0,t[fNmax]);
g2->SetMinimum(0);
g2->SetMaximum(1.1);
g2->SetStats(0);
g2->GetXaxis()->SetTitle("t (h)");
g2->GetYaxis()->SetTitle("L(t)/L0");
- sprintf(hname,"%s%d",name1,3);
+ snprintf(hname, 20, "%s%d",name1,3);
TH1 *g3 = new TH1F(hname,"Average Luminosity",fNmax,0,t[fNmax]);
g3->SetMinimum(0);
g3->GetXaxis()->SetTitle("t (h)");
g3->GetYaxis()->SetTitle("L(t)/L0");
- sprintf(hname,"%s%d",name1,3);
+ snprintf(hname,20,"%s%d",name1,3);
TH1 *g4 = new TH1F(hname,"Beta*",fNmax,0,t[fNmax]);
g4->SetMinimum(0);