#include "hhypKineFit.h"
#include "hgeomvector.h"
using namespace std;
ClassImp(HHypKineFit);
HHypKineFit::HHypKineFit()
{
init(2200.);
}
HHypKineFit::HHypKineFit(Float_t* in,Float_t* errIn)
{
init(2200.);
for(Int_t i=0; i<12; i++)
{
fitInput[i]=in[i];
errInput[i]=errIn[i];
fitOutput[i]=-1000.;
errOutput[i]=-1000.;
}
}
HHypKineFit::~HHypKineFit()
{
if(gMinuit) delete gMinuit;
if(fitInput) delete [] fitInput;
if(fitOutput) delete [] fitOutput;
if(errInput) delete [] errInput;
if(errOutput) delete [] errOutput;
}
void HHypKineFit::init(Float_t eB)
{
gMinuit=0;
fitInput=new Float_t [12];
errInput=new Float_t [12];
fitOutput=new Double_t [12];
errOutput=new Double_t [12];
eBeam=eB;
mProton=938.27200;
Float_t mPion0=134.9766;
Float_t mPionC=139.57018;
Float_t mElec=0.511;
m2Proton=mProton*mProton;
m2Pion0=mPion0*mPion0;
m2PionC=mPionC*mPionC;
m2Elec=mElec*mElec;
ELab=eBeam+mProton;
pInput=sqrt(ELab*ELab-m2Proton);
}
void HHypKineFit::ResetOutput(void)
{
for(Int_t i=0; i<12; i++)
{
fitOutput[i]=-1000.;
errOutput[i]=-1000.;
}
}
void HHypKineFit::SetInput(Float_t* in,Float_t* errIn)
{
for(Int_t i=0; i<12; i++)
{
fitInput[i]=in[i];
errInput[i]=errIn[i];
}
}
void HHypKineFit::SetOutput(Double_t* out,Double_t* errOut)
{
for(Int_t i=0; i<12; i++)
{
fitOutput[i]=out[i];
errOutput[i]=errOut[i];
}
}
void HHypKineFit::GetInput(Float_t* in,Float_t* errIn)
{
for(Int_t i=0; i<12; i++)
{
in[i]=fitInput[i];
errIn[i]=errInput[i];
}
}
void HHypKineFit::GetOutput(Double_t* out,Double_t* errOut)
{
for(Int_t i=0; i<12; i++)
{
out[i]=fitOutput[i];
errOut[i]=errOutput[i];
}
}
Float_t HHypKineFit::scalar(HGeomVector &data1, HGeomVector &data2)
{
return (data1.getX()*data2.getX()+data1.getY()*data2.getY()+data1.getZ()*data2.getZ());
}
Last change: Sat May 22 12:57:46 2010
Last generated: 2010-05-22 12:57
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.