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

#include "/cvmfs/nova.opensciencegrid.org/externals/genie/v3_00_06_p01a/Linux64bit+3.10-2.17-e19-debug/GENIE-Generator/src/Physics/Strange/XSection/AlamSimoAtharVacasSKXSec.h"

Inheritance diagram for genie::utils::gsl::d3Xsec_dTldTkdCosThetal:

Public Member Functions

 d3Xsec_dTldTkdCosThetal (const XSecAlgorithmI *m, const Interaction *i)
 
 ~d3Xsec_dTldTkdCosThetal ()
 
unsigned int NDim (void) const
 
double DoEval (const double *xin) const
 
ROOT::Math::IBaseFunctionMultiDim * Clone (void) const
 

Private Attributes

const XSecAlgorithmIfModel
 
const InteractionfInteraction
 

Detailed Description

Definition at line 65 of file AlamSimoAtharVacasSKXSec.h.

Constructor & Destructor Documentation

genie::utils::gsl::d3Xsec_dTldTkdCosThetal::d3Xsec_dTldTkdCosThetal ( const XSecAlgorithmI m,
const Interaction i 
)

Definition at line 175 of file AlamSimoAtharVacasSKXSec.cxx.

176  :
177 ROOT::Math::IBaseFunctionMultiDim(),
178 fModel(m),
179 fInteraction(i)
180 {
181 
182 }
genie::utils::gsl::d3Xsec_dTldTkdCosThetal::~d3Xsec_dTldTkdCosThetal ( )

Definition at line 184 of file AlamSimoAtharVacasSKXSec.cxx.

185 {
186 
187 }

Member Function Documentation

ROOT::Math::IBaseFunctionMultiDim * genie::utils::gsl::d3Xsec_dTldTkdCosThetal::Clone ( void  ) const
double genie::utils::gsl::d3Xsec_dTldTkdCosThetal::DoEval ( const double *  xin) const

Definition at line 196 of file AlamSimoAtharVacasSKXSec.cxx.

References genie::units::cm2, E, fInteraction, fModel, genie::Interaction::InitState(), genie::utils::mec::J(), kinematics(), genie::Interaction::KinePtr(), genie::kKVctl, genie::kKVphikq, genie::kKVTk, genie::kKVTl, genie::constants::kPi, genie::kRfLab, LOG, pDEBUG, genie::InitialState::ProbeE(), genie::XSecAlgorithmI::XSec(), and xsec.

197 {
198 // inputs:
199 // Tl [GeV]
200 // Tk [GeV]
201 // cosine theta l
202 // * calculate phi_kq based on neutrino energy -- this is for the integral only
203 // outputs:
204 // differential cross section [10^-38 cm^2]
205 //
206 
207  double Enu = fInteraction->InitState().ProbeE(kRfLab);
208 
209  double phikq = 0.5*constants::kPi;
210  if( Enu > 3.0 ) phikq = 0.55*constants::kPi;
211  else if( Enu > 1.0 ) phikq = constants::kPi*(0.5 + 0.025*(Enu-1.0));
212 
214 
215  double T_l = xin[0];
216  double T_k = xin[1];
217  //double cos_theta_l = xin[2];
218  double log_oneminuscostheta = xin[2];
219  double cos_theta_l = 1.0 - TMath::Exp(log_oneminuscostheta);
220  double J = 1.0 - cos_theta_l; // Jacobian for transformation
221 
222  kinematics->SetKV(kKVTl, T_l);
223  kinematics->SetKV(kKVTk, T_k);
224  kinematics->SetKV(kKVctl, cos_theta_l);
225  kinematics->SetKV(kKVphikq, phikq);
226 
227  double xsec = fModel->XSec(fInteraction);
228  LOG( "GXSecFunc", pDEBUG )
229  << "t_l = " << T_l << " t_k = " << T_k
230  << " costhetal = " << cos_theta_l << " phikq = " << phikq
231  << " enu = " << Enu << " Xsec = " << xsec;
232 
233  // integrate out phi_kq by multiplying by 2pi
234 
235  xsec *= 2.0 * genie::constants::kPi * J;
236 
237  return xsec/(1E-38 * units::cm2);
238 }
double J(double q0, double q3, double Enu, double ml)
Definition: MECUtils.cxx:141
Kinematics * KinePtr(void) const
Definition: Interaction.h:76
virtual double XSec(const Interaction *i, KinePhaseSpace_t k=kPSfE) const =0
Compute the cross section for the input interaction.
Generated/set kinematical variables for an event.
Definition: Kinematics.h:40
static const double cm2
Definition: Units.h:77
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:97
Float_t E
Definition: plot.C:20
Double_t xsec[nknots]
Definition: testXsec.C:47
const InitialState & InitState(void) const
Definition: Interaction.h:69
void kinematics()
Definition: kinematics.C:10
double ProbeE(RefFrame_t rf) const
static const double kPi
Definition: Constants.h:38
#define pDEBUG
Definition: Messenger.h:64
unsigned int genie::utils::gsl::d3Xsec_dTldTkdCosThetal::NDim ( void  ) const

Definition at line 189 of file AlamSimoAtharVacasSKXSec.cxx.

190 {
191  // phi_kq is important for kinematics generation
192  // But dependence is weak so we will not use it in the integration
193  return 3;
194 }

Member Data Documentation

const Interaction* genie::utils::gsl::d3Xsec_dTldTkdCosThetal::fInteraction
private

Definition at line 76 of file AlamSimoAtharVacasSKXSec.h.

Referenced by Clone(), and DoEval().

const XSecAlgorithmI* genie::utils::gsl::d3Xsec_dTldTkdCosThetal::fModel
private

Definition at line 75 of file AlamSimoAtharVacasSKXSec.h.

Referenced by Clone(), and DoEval().


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