Public Member Functions | Private Attributes | List of all members
genie::utils::gsl::FullQELdXSec Class Reference

#include "/cvmfs/nova.opensciencegrid.org/externals/genie/v3_00_06_p01/Linux64bit+2.6-2.12-e17-debug/GENIE-Generator/src/Physics/QuasiElastic/XSection/NewQELXSec.h"

Inheritance diagram for genie::utils::gsl::FullQELdXSec:

Public Member Functions

 FullQELdXSec (const XSecAlgorithmI *xsec_model, const Interaction *interaction, QELEvGen_BindingMode_t binding_mode, double min_angle_EM)
 
virtual ~FullQELdXSec ()
 
unsigned int NDim (void) const
 
double DoEval (const double *xin) const
 
ROOT::Math::IBaseFunctionMultiDim * Clone (void) const
 
InteractionGetInteractionPtr ()
 
const InteractionGetInteraction () const
 

Private Attributes

const XSecAlgorithmIfXSecModel
 
const NuclearModelIfNuclModel
 
InteractionfInteraction
 
QELEvGen_BindingMode_t fHitNucleonBindingMode
 
double fMinAngleEM
 

Detailed Description

Definition at line 38 of file NewQELXSec.h.

Constructor & Destructor Documentation

genie::utils::gsl::FullQELdXSec::FullQELdXSec ( const XSecAlgorithmI xsec_model,
const Interaction interaction,
QELEvGen_BindingMode_t  binding_mode,
double  min_angle_EM 
)

Definition at line 201 of file NewQELXSec.cxx.

References ana::assert(), fNuclModel, fXSecModel, and genie::Algorithm::SubAlg().

Referenced by Clone().

203  : fXSecModel( xsec_model ), fInteraction( new Interaction(*interaction) ),
204  fHitNucleonBindingMode( binding_mode ), fMinAngleEM( min_angle_EM )
205 {
206  fNuclModel = dynamic_cast<const NuclearModelI*>( fXSecModel->SubAlg("IntegralNuclearModel") );
207  assert( fNuclModel );
208 }
Pure abstract base class. Defines the NuclearModelI interface to be implemented by any physics model ...
Definition: NuclearModelI.h:42
const NuclearModelI * fNuclModel
Definition: NewQELXSec.h:55
QELEvGen_BindingMode_t fHitNucleonBindingMode
Definition: NewQELXSec.h:57
const XSecAlgorithmI * fXSecModel
Definition: NewQELXSec.h:54
assert(nhit_max >=nhit_nbins)
const Algorithm * SubAlg(const RgKey &registry_key) const
Definition: Algorithm.cxx:353
genie::utils::gsl::FullQELdXSec::~FullQELdXSec ( )
virtual

Definition at line 210 of file NewQELXSec.cxx.

References fInteraction.

211 {
212  delete fInteraction;
213 }

Member Function Documentation

ROOT::Math::IBaseFunctionMultiDim * genie::utils::gsl::FullQELdXSec::Clone ( void  ) const

Definition at line 225 of file NewQELXSec.cxx.

References fHitNucleonBindingMode, fInteraction, fMinAngleEM, FullQELdXSec(), and fXSecModel.

226 {
228 }
QELEvGen_BindingMode_t fHitNucleonBindingMode
Definition: NewQELXSec.h:57
const XSecAlgorithmI * fXSecModel
Definition: NewQELXSec.h:54
FullQELdXSec(const XSecAlgorithmI *xsec_model, const Interaction *interaction, QELEvGen_BindingMode_t binding_mode, double min_angle_EM)
Definition: NewQELXSec.cxx:201
double genie::utils::gsl::FullQELdXSec::DoEval ( const double *  xin) const

Definition at line 235 of file NewQELXSec.cxx.

References genie::utils::ComputeFullQELPXSec(), fHitNucleonBindingMode, fInteraction, fMinAngleEM, fNuclModel, fXSecModel, and xsec.

236 {
237  // Elements of "xin"
238  //
239  // element 0: "cos_theta0" = Cosine of theta0, the angle between the COM frame
240  // 3-momentum of the outgoing lepton and the COM frame velocity
241  // as measured in the laboratory frame
242  // element 1: "phi_theta0" = Azimuthal angle of the COM frame 3-momentum of the
243  // outgoing lepton measured with respect to the COM frame
244  // velocity as measured in the laboratory frame
245 
246  double cos_theta0 = xin[0];
247  double phi0 = xin[1];
248 
249  // Dummy storage for the binding energy of the hit nucleon
250  double dummy_Eb = 0.;
251 
252  // Compute the full differential cross section
254  fXSecModel, cos_theta0, phi0, dummy_Eb, fHitNucleonBindingMode, fMinAngleEM, true);
255 
256  return xsec;
257 }
double ComputeFullQELPXSec(Interaction *interaction, const NuclearModelI *nucl_model, const XSecAlgorithmI *xsec_model, double cos_theta_0, double phi_0, double &Eb, QELEvGen_BindingMode_t hitNucleonBindingMode, double min_angle_EM=0., bool bind_nucleon=true)
Definition: QELUtils.cxx:94
Double_t xsec[nknots]
Definition: testXsec.C:47
const NuclearModelI * fNuclModel
Definition: NewQELXSec.h:55
QELEvGen_BindingMode_t fHitNucleonBindingMode
Definition: NewQELXSec.h:57
const XSecAlgorithmI * fXSecModel
Definition: NewQELXSec.h:54
const Interaction & genie::utils::gsl::FullQELdXSec::GetInteraction ( ) const

Definition at line 220 of file NewQELXSec.cxx.

References fInteraction.

221 {
222  return *fInteraction;
223 }
Interaction * genie::utils::gsl::FullQELdXSec::GetInteractionPtr ( )

Definition at line 215 of file NewQELXSec.cxx.

References fInteraction.

Referenced by genie::NewQELXSec::Integrate().

216 {
217  return fInteraction;
218 }
unsigned int genie::utils::gsl::FullQELdXSec::NDim ( void  ) const

Definition at line 230 of file NewQELXSec.cxx.

231 {
232  return 2;
233 }

Member Data Documentation

QELEvGen_BindingMode_t genie::utils::gsl::FullQELdXSec::fHitNucleonBindingMode
private

Definition at line 57 of file NewQELXSec.h.

Referenced by Clone(), and DoEval().

Interaction* genie::utils::gsl::FullQELdXSec::fInteraction
private

Definition at line 56 of file NewQELXSec.h.

Referenced by Clone(), DoEval(), GetInteraction(), GetInteractionPtr(), and ~FullQELdXSec().

double genie::utils::gsl::FullQELdXSec::fMinAngleEM
private

Definition at line 58 of file NewQELXSec.h.

Referenced by Clone(), and DoEval().

const NuclearModelI* genie::utils::gsl::FullQELdXSec::fNuclModel
private

Definition at line 55 of file NewQELXSec.h.

Referenced by DoEval(), and FullQELdXSec().

const XSecAlgorithmI* genie::utils::gsl::FullQELdXSec::fXSecModel
private

Definition at line 54 of file NewQELXSec.h.

Referenced by Clone(), DoEval(), and FullQELdXSec().


The documentation for this class was generated from the following files: