GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Attributes | List of all members
genie::utils::gsl::FullQELdXSec Class Reference

#include <NewQELXSec.h>

Inheritance diagram for genie::utils::gsl::FullQELdXSec:
Inheritance graph
[legend]
Collaboration diagram for genie::utils::gsl::FullQELdXSec:
Collaboration graph
[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

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.

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

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 }
Pure abstract base class. Defines the NuclearModelI interface to be implemented by any physics model ...
Definition: NuclearModelI.h:46
Summary information for an interaction.
Definition: Interaction.h:56
const NuclearModelI * fNuclModel
Definition: NewQELXSec.h:54
QELEvGen_BindingMode_t fHitNucleonBindingMode
Definition: NewQELXSec.h:56
const XSecAlgorithmI * fXSecModel
Definition: NewQELXSec.h:53
const Algorithm * SubAlg(const RgKey &registry_key) const
Definition: Algorithm.cxx:345
genie::utils::gsl::FullQELdXSec::~FullQELdXSec ( )
virtual

Definition at line 218 of file NewQELXSec.cxx.

219 {
220  delete fInteraction;
221 }

Member Function Documentation

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

Definition at line 233 of file NewQELXSec.cxx.

234 {
236 }
QELEvGen_BindingMode_t fHitNucleonBindingMode
Definition: NewQELXSec.h:56
const XSecAlgorithmI * fXSecModel
Definition: NewQELXSec.h:53
FullQELdXSec(const XSecAlgorithmI *xsec_model, const Interaction *interaction, QELEvGen_BindingMode_t binding_mode, double min_angle_EM)
Definition: NewQELXSec.cxx:209
double genie::utils::gsl::FullQELdXSec::DoEval ( const double *  xin) const

Definition at line 243 of file NewQELXSec.cxx.

References genie::utils::ComputeFullQELPXSec().

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
const NuclearModelI * fNuclModel
Definition: NewQELXSec.h:54
QELEvGen_BindingMode_t fHitNucleonBindingMode
Definition: NewQELXSec.h:56
const XSecAlgorithmI * fXSecModel
Definition: NewQELXSec.h:53
const Interaction & genie::utils::gsl::FullQELdXSec::GetInteraction ( ) const

Definition at line 228 of file NewQELXSec.cxx.

229 {
230  return *fInteraction;
231 }
Interaction * genie::utils::gsl::FullQELdXSec::GetInteractionPtr ( )

Definition at line 223 of file NewQELXSec.cxx.

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

224 {
225  return fInteraction;
226 }
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

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

Definition at line 56 of file NewQELXSec.h.

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

Definition at line 55 of file NewQELXSec.h.

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

Definition at line 57 of file NewQELXSec.h.

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

Definition at line 54 of file NewQELXSec.h.

Referenced by FullQELdXSec().

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

Definition at line 53 of file NewQELXSec.h.

Referenced by FullQELdXSec().


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