GENIEGenerator
Loading...
Searching...
No Matches
XSecAlgorithmI.h
Go to the documentation of this file.
1//____________________________________________________________________________
2/*!
3
4\class genie::XSecAlgorithmI
5
6\brief Cross Section Calculation Interface.
7
8\author Costas Andreopoulos <c.andreopoulos \at cern.ch>
9 University of Liverpool
10
11\created May 03, 2004
12
13\cpright Copyright (c) 2003-2025, The GENIE Collaboration
14 For the full text of the license visit http://copyright.genie-mc.org
15*/
16//____________________________________________________________________________
17
18#ifndef _XSEC_ALGORITHM_I_H_
19#define _XSEC_ALGORITHM_I_H_
20
24
25namespace genie {
26
27class XSecAlgorithmI : public Algorithm {
28
29public:
30 virtual ~XSecAlgorithmI();
31
32 //! Compute the cross section for the input interaction
33 virtual double XSec (const Interaction* i, KinePhaseSpace_t k=kPSfE) const = 0;
34
35 //! Integrate the model over the kinematic phase space available to the
36 //! input interaction (kinematical cuts can be included)
37 virtual double Integral (const Interaction* i) const = 0;
38
39 //! Can this cross section algorithm handle the input process?
40 virtual bool ValidProcess (const Interaction* i) const = 0;
41
42 //! Is the input kinematical point a physically allowed one?
43 virtual bool ValidKinematics (const Interaction* i) const;
44
45protected:
47 XSecAlgorithmI(string name);
48 XSecAlgorithmI(string name, string config);
49};
50
51} // genie namespace
52#endif // _XSEC_ALGORITHM_I_H_
Summary information for an interaction.
Definition Interaction.h:56
virtual bool ValidKinematics(const Interaction *i) const
Is the input kinematical point a physically allowed one?
virtual double XSec(const Interaction *i, KinePhaseSpace_t k=kPSfE) const =0
Compute the cross section for the input interaction.
virtual double Integral(const Interaction *i) const =0
virtual bool ValidProcess(const Interaction *i) const =0
Can this cross section algorithm handle the input process?
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25
enum genie::EKinePhaseSpace KinePhaseSpace_t