// ----------------------------------------------------------------------------
// $Id: LCDBeam.cxx,v 1.1 2001/05/10 17:12:55 toshi Exp $
// ----------------------------------------------------------------------------
//
// $Log: LCDBeam.cxx,v $
// Revision 1.1  2001/05/10 17:12:55  toshi
// Rename LCDBeam.C to LCDBeam.cxx.
//
// Revision 1.3  2001/05/04 23:09:19  masako
//  Remove GetPol/SetPol functions, and make new functions:
//      GetPolElec/SetPolElec    : Get (set) electron polorization
//      GetPolPosi/SetPolPosi    : Get (set) positron polorization
//      GetEffectivePol          : Get effective polarization for electron
//
// Revision 1.2  2001/04/28 23:35:56  toshi
// Start to use CVS.
//
//
#include "LCDBeam.h"

//
// LCDBeam.cxx
//
// Aug 22 2000 M. Iwasaki V0.0  Create LCDBeam. Copied from SLD's PHBM. 
//

ClassImp(LCDBeam)

const Int_t LCDBeam::CONV  = 1; //Converged Fit
const Int_t LCDBeam::UNCONV= 2; //Unconverged
const Int_t LCDBeam::FAIL  =12; //Failure on Entry
const Int_t LCDBeam::NOTYET=-1; //Not Decided

//__________________________________________________________________________
 LCDBeam::LCDBeam():
  m_Ecm(0.0), m_dEcm(0.0), m_Pol_elec(0.0), m_Pol_posi(0.0), 
  m_dPol_elec(0.0), m_dPol_posi(0.0), m_pdTime(0.0),m_rmsPri(0.0)
{ // This is the default constructor.

  for (Int_t i=0; i<6; i++) { m_dPos[i]    = 0.; }
  for (Int_t j=0; j<6; j++) { m_dxyzPri[j] = 0.; }

  SetRtrnPri(LCDBeam::NOTYET);
}
//__________________________________________________________________________

//__________________________________________________________________________
 LCDBeam::~LCDBeam(){
}
//_________________________________________________________________________

//__________________________________________________________________________
 void LCDBeam::SetEcm(Double_t Ecm) {
  SetEcm(Ecm, 0.0);
}
//__________________________________________________________________________

//__________________________________________________________________________
 void LCDBeam::SetEcm(Double_t Ecm, Double_t dEcm){
  m_Ecm = Ecm;   m_dEcm = dEcm;
}
//_________________________________________________________________________

//__________________________________________________________________________
 void LCDBeam::SetdPos(Double_t* dpos){
  for (Int_t i=0; i<6; i++) { m_dPos[i] = dpos[i]; }
}
//_________________________________________________________________________

//__________________________________________________________________________
 void LCDBeam::SetPolElec(Double_t pol){
  SetPolElec(pol, 0.0);
}
//__________________________________________________________________________

//__________________________________________________________________________
 void LCDBeam::SetPolElec(Double_t pol, Double_t dpol){
  m_Pol_elec = pol;  m_dPol_elec = dpol;
}
//_________________________________________________________________________

//__________________________________________________________________________
 void LCDBeam::SetPolPosi(Double_t pol){
  SetPolPosi(pol, 0.0);
}
//__________________________________________________________________________

//__________________________________________________________________________
 void LCDBeam::SetPolPosi(Double_t pol, Double_t dpol){
  m_Pol_posi = pol;  m_dPol_posi = dpol;
}
//_________________________________________________________________________

//__________________________________________________________________________
 void LCDBeam::SetdxyzPri(Double_t* dxyzPri){
  for (Int_t i=0; i<6; i++) { m_dxyzPri[i] = dxyzPri[i]; }
}
//__________________________________________________________________________

 Double_t LCDBeam::GetEffectivePol(){
  Double_t effec_pol = 0.;
  if (m_Pol_elec*m_Pol_posi != 1.){
     effec_pol = (m_Pol_elec - m_Pol_posi)/(1.-m_Pol_elec*m_Pol_posi);
  }
  return effec_pol;
}








ROOT page - Class index - Top of the page

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.