fTablesLoaded(kFALSE)
{
//default constructor
- fHisto = new TH1F(Form("hhistoqw_%d",fInstanceNumber),"",fgkBins,0.,fgkMaxBin);
- for(Int_t bin=1;bin<=fgkBins;bin++)
- fHisto->SetBinContent(bin,0.);
+
}
AliQuenchingWeights::AliQuenchingWeights(const AliQuenchingWeights& a)
delete fHisto;
}
+void AliQuenchingWeights::Init()
+{
+// Initialization
+ if (fHisto) return;
+ fHisto = new TH1F(Form("hhistoqw_%d",fInstanceNumber),"",fgkBins,0.,fgkMaxBin);
+ for(Int_t bin=1;bin<=fgkBins;bin++)
+ fHisto->SetBinContent(bin,0.);
+}
+
void AliQuenchingWeights::Reset()
{
//reset tables if there were used
ret=fHistos[ipart-1][l-1]->GetRandom();
if(++ws==1e6){
Warning("GetELossRandom",
- "Aborted reweighting; maximum loss assigned after 1e6 trials.");
+ "Stopping reweighting; maximum loss assigned after 1e6 trials.");
return e;
}
}
ret=fHisto->GetRandom();
if(++ws==1e6){
Warning("GetELossRandomK",
- "Aborted reweighting; maximum loss assigned after 1e6 trials.");
+ "Stopping reweighting; maximum loss assigned after 1e6 trials.");
return e;
}
}
if(discrete>=1.0) {
return 0.; //no energy loss
}
-
+ if (!fHisto) Init();
+
fHisto->SetBinContent(bin,continuous);
Int_t kbinmax=fHisto->FindBin(e/wc);
if(kbinmax>=fgkBins) kbinmax=fgkBins-1;
Double_t discrete=0.;
Double_t continuous=0.;
-
+ if (!fHisto) Init();
Int_t kbinmax=fHisto->FindBin(e/wc);
if(kbinmax>=fgkBins) kbinmax=fgkBins-1;
if(fMultSoft) {
Double_t discrete=0.;
Double_t continuous=0;;
Int_t bin=1;
+ if (!fHisto) Init();
Double_t xxxx = fHisto->GetBinCenter(bin);
if(fMultSoft)
CalcMult(ipart,r,xxxx,continuous,discrete);