-#include "TF1.h"
+/**************************************************************************
+ * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * *
+ * Author: The ALICE Off-line Project. *
+ * Contributors are mentioned in the code where appropriate. *
+ * *
+ * Permission to use, copy, modify and distribute this software and its *
+ * documentation strictly for non-commercial purposes is hereby granted *
+ * without fee, provided that the above copyright notice appears in all *
+ * copies and that both the copyright notice and this permission notice *
+ * appear in the supporting documentation. The authors make no claims *
+ * about the suitability of this software for any purpose. It is *
+ * provided "as is" without express or implied warranty. *
+ **************************************************************************/
+
+/* $Id$ */
+
+#include <TF1.h>
+#include <TMath.h>
+
#include "AliSignalProcesor.h"
+#include "AliMathBase.h"
ClassImp(AliSignalProcesor)
if (-par5save*(dx-0.5*par5save*sigma2)>100) return 0; // avoid overflow
if (TMath::Abs(par[4])>1) return 0;
Double_t exp1 = par3save*TMath::Exp(-par3save*(dx-0.5*par3save*sigma2))
- *(1-TMath::Erf((par3save*sigma2-dx)/(sqrt2*par2save)));
+ *(1-AliMathBase::ErfFast((par3save*sigma2-dx)/(sqrt2*par2save)));
Double_t exp2 = par5save*TMath::Exp(-par5save*(dx-0.5*par5save*sigma2))
- *(1-TMath::Erf((par5save*sigma2-dx)/(sqrt2*par2save)));
+ *(1-AliMathBase::ErfFast((par5save*sigma2-dx)/(sqrt2*par2save)));
return par[0]*(exp1+par[4]*exp2);
if (TMath::Abs(par[4])>=1) return 0;
Double_t exp1 = par3save*TMath::Exp(-par3save*(dx-0.5*par3save*sigma2))
- *0.5*(1-TMath::Erf((par3save*sigma2-dx)/(sqrt2*par2save)));
+ *0.5*(1-AliMathBase::ErfFast((par3save*sigma2-dx)/(sqrt2*par2save)));
Double_t exp2 = par5save*TMath::Exp(-par5save*(dx-0.5*par5save*sigma2))
- *0.5*(1-TMath::Erf((par5save*sigma2-dx)/(sqrt2*par2save)));
+ *0.5*(1-AliMathBase::ErfFast((par5save*sigma2-dx)/(sqrt2*par2save)));
return par[0]*(1.*exp1+par[4]*exp2)/(1.+par[4]);
-void AliSignalProcesor::SplineSmoother(Double_t *ampin, Double_t *ampout, Int_t n)
+void AliSignalProcesor::SplineSmoother(const Double_t *ampin, Double_t *ampout, Int_t n) const
{
//
//
-void AliSignalProcesor::TailCancelationALTRO(Double_t *ampin, Double_t *ampout, Float_t K, Float_t L,
- Int_t n)
+void AliSignalProcesor::TailCancelationALTRO(const Double_t *ampin, Double_t *ampout, Float_t k, Float_t l, Int_t n) const
{
//
// ALTRO
ampout[0] = ampin[0];
temp = ampin[0];
for (int i=1;i<n;i++){
- ampout[i] = ampin[i] + (K-L)*temp;
- temp = ampin[i] + K*temp;
+ ampout[i] = ampin[i] + (k-l)*temp;
+ temp = ampin[i] + k*temp;
}
}
//
//
-void AliSignalProcesor::TailCancelationTRD(Double_t *ampin, Double_t *ampout, Float_t r, Float_t c,
- Int_t n)
+void AliSignalProcesor::TailCancelationTRD(const Double_t *ampin, Double_t *ampout, Float_t r, Float_t c,
+ Int_t n) const
{
//TRD
//
}
-void AliSignalProcesor::TailMaker(Double_t *ampin, Double_t *ampout, Float_t lambda,
- Int_t n)
+void AliSignalProcesor::TailMaker(const Double_t *ampin, Double_t *ampout, Float_t lambda,
+ Int_t n) const
{
Double_t l = TMath::Exp(-lambda);
-void AliSignalProcesor::TailCancelationMI(Double_t *ampin, Double_t *ampout, Float_t norm,
- Float_t lambda, Int_t n)
+void AliSignalProcesor::TailCancelationMI(const Double_t *ampin, Double_t *ampout, Float_t norm,
+ Float_t lambda, Int_t n) const
{
- Double_t L = TMath::Exp(-lambda*0.5);
- Double_t K = L*(1.-norm*lambda*0.5);
+ Double_t l = TMath::Exp(-lambda*0.5);
+ Double_t k = l*(1.-norm*lambda*0.5);
//
//
Float_t in[10000];
out[0] = in[0];
temp = in[0];
for (int i=1;i<=2*n;i++){
- out[i] = in[i] + (K-L)*temp;
- temp = in[i] + K*temp;
+ out[i] = in[i] + (k-l)*temp;
+ temp = in[i] + k*temp;
}
//
//
-void AliSignalProcesor::TailMakerSpline(Double_t *ampin, Double_t *ampout, Float_t lambda,
- Int_t n)
+void AliSignalProcesor::TailMakerSpline(const Double_t *ampin, Double_t *ampout, Float_t lambda,
+ Int_t n) const
{
Double_t l = TMath::Exp(-lambda*0.5);