// andreas.morsch@cern.ch
//
+#include <TCanvas.h>
+#include <TF1.h>
+#include <TGraph.h>
+#include <TH1F.h>
+#include <TMath.h>
+#include <TMultiGraph.h>
+
#include "AliLhcProcessIBS.h"
#include "AliLHC.h"
#include "AliLhcIRegion.h"
#include "AliLhcBeam.h"
-#include <TF1.h>
-#include <TMath.h>
-#include <TCanvas.h>
-#include <TGraph.h>
-#include <TMultiGraph.h>
-
ClassImp(AliLhcProcessIBS)
Double_t func(Double_t *x, Double_t *par);
AliLhcProcessIBS::AliLhcProcessIBS(AliLHC* lhc, const char* name, const char* title)
- :AliLhcProcess(lhc,name,title)
+ :AliLhcProcess(lhc,name,title),
+ fCrossSection(0.),
+ fIRegions(0),
+ fTaux(0.),
+ fTaue(0.),
+ fTauxArray(0),
+ fTaueArray(0)
{
// Constructor
}
+AliLhcProcessIBS::AliLhcProcessIBS(const AliLhcProcessIBS& ibs):
+ AliLhcProcess(ibs),
+ fCrossSection(0.),
+ fIRegions(0),
+ fTaux(0.),
+ fTaue(0.),
+ fTauxArray(0),
+ fTaueArray(0)
+{
+// Copy Constructor
+}
+
AliLhcProcessIBS::~AliLhcProcessIBS()
{
// impact parameter
Float_t d = sige*avd/sigx;
//
- Float_t at = sige*TMath::Sqrt(1.-d*d)/(gamma*ssigx);
- Float_t bt = sige*TMath::Sqrt(1.-d*d)/(gamma*ssigy);
- Float_t ct = sige*TMath::Sqrt(1.-d*d)*TMath::Sqrt(4.*sigy/fR[i]);
+ Float_t at = sige*TMath::Sqrt((1.-d)*(1.+d))/(gamma*ssigx);
+ Float_t bt = sige*TMath::Sqrt((1.-d)*(1.+d))/(gamma*ssigy);
+ Float_t ct = sige*TMath::Sqrt((1.-d)*(1.+d))*TMath::Sqrt(4.*sigy/fR[i]);
//
Double_t par[3];
par[0] = at;
Float_t f = (Float_t) 8.0*TMath::Pi()*
fct->Integral(0., 1., par, 1.e-5);
//
- fTaux = 1./(asd*f*(d*d-at*at/2.));
- fTaue = 1./(asd*f*(1.-d*d));
+ const Double_t osq2=1./TMath::Sqrt(2.);
+ fTaux = 1./(asd*f*(d-osq2*at)*(d+osq2*at));
+ fTaue = 1./(asd*f*((1.-d)*(1.+d)));
// printf("\n taux, taue %f %f", taux, taue);
// Float_t tauy = -2./at*at/asd/f;
fBeam[i]->IncreaseEmittance(dt/fTaux, dt/fTaue);