GENIEGenerator
Loading...
Searching...
No Matches
QELFormFactors.h
Go to the documentation of this file.
1//____________________________________________________________________________
2/*!
3
4\class genie::QELFormFactors
5
6\brief A class holding Quasi Elastic (QEL) Form Factors.
7
8 This class is using the \b Strategy Pattern. \n
9 It can accept requests to calculate itself, for a given interaction,
10 that it then delegates to the algorithmic object, implementing the
11 QELFormFactorsModelI interface, that it finds attached to itself.
12
13\author Costas Andreopoulos <c.andreopoulos \at cern.ch>
14 University of Liverpool
15
16\created April 20, 2004
17
18\cpright Copyright (c) 2003-2025, The GENIE Collaboration
19 For the full text of the license visit http://copyright.genie-mc.org
20*/
21//____________________________________________________________________________
22
23#ifndef _QEL_FORM_FACTORS_H_
24#define _QEL_FORM_FACTORS_H_
25
26#include <iostream>
27
30
31using std::ostream;
32
33namespace genie {
34
35class QELFormFactors;
36ostream & operator << (ostream & stream, const QELFormFactors & ff);
37
39
40public:
41
43 QELFormFactors(const QELFormFactors & form_factors);
44 virtual ~QELFormFactors() { }
45
46 //! Attach an algorithm
47 void SetModel (const QELFormFactorsModelI * model);
48
49 //! Compute the form factors for the input interaction using the attached model
50 void Calculate (const Interaction * interaction);
51
52 //! Get the computed form factor F1V
53 double F1V (void) const { return fF1V; }
54
55 //! Get the computed form factor xi*F2V
56 double xiF2V (void) const { return fxiF2V; }
57
58 //! Get the computed form factor FA
59 double FA (void) const { return fFA; }
60
61 //! Get the computed form factor Fp
62 double Fp (void) const { return fFp; }
63
64 //! Get the attached model
65 const QELFormFactorsModelI * Model (void) const {return fModel;}
66
67 void Reset (Option_t * opt="");
68 void Copy (const QELFormFactors & ff);
69 bool Compare (const QELFormFactors & ff) const;
70 void Print (ostream & stream) const;
71
72 bool operator == (const QELFormFactors & ff) const;
74 friend ostream & operator << (ostream & stream, const QELFormFactors & ff);
75
76private:
77
78 double fF1V;
79 double fxiF2V;
80 double fFA;
81 double fFp;
82
84};
85
86} // genie namespace
87
88#endif // _QEL_FORM_FACTORS_H_
Summary information for an interaction.
Definition Interaction.h:56
Pure abstract base class. Defines the QELFormFactorsModelI interface to be implemented by any algorit...
A class holding Quasi Elastic (QEL) Form Factors.
friend ostream & operator<<(ostream &stream, const QELFormFactors &ff)
void Print(ostream &stream) const
double Fp(void) const
Get the computed form factor Fp.
void Reset(Option_t *opt="")
void Calculate(const Interaction *interaction)
Compute the form factors for the input interaction using the attached model.
const QELFormFactorsModelI * fModel
double F1V(void) const
Get the computed form factor F1V.
bool operator==(const QELFormFactors &ff) const
bool Compare(const QELFormFactors &ff) const
double FA(void) const
Get the computed form factor FA.
double xiF2V(void) const
Get the computed form factor xi*F2V.
QELFormFactors & operator=(const QELFormFactors &ff)
const QELFormFactorsModelI * Model(void) const
Get the attached model.
void SetModel(const QELFormFactorsModelI *model)
Attach an algorithm.
void Copy(const QELFormFactors &ff)
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25
ostream & operator<<(ostream &stream, const AlgConfigPool &config_pool)