GENIEGenerator
Loading...
Searching...
No Matches
genie::utils::gsl::FullQELdXSec Class Reference

#include <NewQELXSec.h>

Inheritance diagram for genie::utils::gsl::FullQELdXSec:
[legend]
Collaboration diagram for genie::utils::gsl::FullQELdXSec:
[legend]

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 37 of file NewQELXSec.h.

Constructor & Destructor Documentation

◆ FullQELdXSec()

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

Definition at line 209 of file NewQELXSec.cxx.

211 : fXSecModel( xsec_model ), fInteraction( new Interaction(*interaction) ),
212 fHitNucleonBindingMode( binding_mode ), fMinAngleEM( min_angle_EM )
213{
214 fNuclModel = dynamic_cast<const NuclearModelI*>( fXSecModel->SubAlg("IntegralNuclearModel") );
215 assert( fNuclModel );
216}
const NuclearModelI * fNuclModel
Definition NewQELXSec.h:54
const XSecAlgorithmI * fXSecModel
Definition NewQELXSec.h:53
QELEvGen_BindingMode_t fHitNucleonBindingMode
Definition NewQELXSec.h:56

References fHitNucleonBindingMode, fInteraction, fMinAngleEM, fNuclModel, and fXSecModel.

Referenced by Clone().

◆ ~FullQELdXSec()

genie::utils::gsl::FullQELdXSec::~FullQELdXSec ( )
virtual

Definition at line 218 of file NewQELXSec.cxx.

219{
220 delete fInteraction;
221}

References fInteraction.

Member Function Documentation

◆ Clone()

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

Definition at line 233 of file NewQELXSec.cxx.

234{
236}
FullQELdXSec(const XSecAlgorithmI *xsec_model, const Interaction *interaction, QELEvGen_BindingMode_t binding_mode, double min_angle_EM)

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

◆ DoEval()

double genie::utils::gsl::FullQELdXSec::DoEval ( const double * xin) const

Definition at line 243 of file NewQELXSec.cxx.

244{
245 // Elements of "xin"
246 //
247 // element 0: "cos_theta0" = Cosine of theta0, the angle between the COM frame
248 // 3-momentum of the outgoing lepton and the COM frame velocity
249 // as measured in the laboratory frame
250 // element 1: "phi_theta0" = Azimuthal angle of the COM frame 3-momentum of the
251 // outgoing lepton measured with respect to the COM frame
252 // velocity as measured in the laboratory frame
253
254 double cos_theta0 = xin[0];
255 double phi0 = xin[1];
256
257 // Dummy storage for the binding energy of the hit nucleon
258 double dummy_Eb = 0.;
259
260 // Compute the full differential cross section
262 fXSecModel, cos_theta0, phi0, dummy_Eb, fHitNucleonBindingMode, fMinAngleEM, true);
263
264 return xsec;
265}
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:93

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

◆ GetInteraction()

const Interaction & genie::utils::gsl::FullQELdXSec::GetInteraction ( ) const

Definition at line 228 of file NewQELXSec.cxx.

229{
230 return *fInteraction;
231}

References fInteraction.

◆ GetInteractionPtr()

Interaction * genie::utils::gsl::FullQELdXSec::GetInteractionPtr ( )

Definition at line 223 of file NewQELXSec.cxx.

224{
225 return fInteraction;
226}

References fInteraction.

◆ NDim()

unsigned int genie::utils::gsl::FullQELdXSec::NDim ( void ) const

Definition at line 238 of file NewQELXSec.cxx.

239{
240 return 2;
241}

Member Data Documentation

◆ fHitNucleonBindingMode

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

Definition at line 56 of file NewQELXSec.h.

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

◆ fInteraction

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

◆ fMinAngleEM

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

Definition at line 57 of file NewQELXSec.h.

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

◆ fNuclModel

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

Definition at line 54 of file NewQELXSec.h.

Referenced by DoEval(), and FullQELdXSec().

◆ fXSecModel

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

Definition at line 53 of file NewQELXSec.h.

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


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