GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
AxialFormFactor.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::AxialFormFactor
5 
6 \brief A class holding the Axial Form Factor
7 
8  This class is using the \b Strategy Pattern. \n
9 
10 \author Aaron Meyer <asmeyer2012 \at uchicago.edu>
11 
12  based off AxialFormFactor by
13  Costas Andreopoulos <c.andreopoulos \at cern.ch>
14  University of Liverpool
15 
16 \created August 19, 2013
17 
18 \cpright Copyright (c) 2003-2024, The GENIE Collaboration
19  For the full text of the license visit http://copyright.genie-mc.org
20 */
21 //____________________________________________________________________________
22 
23 #ifndef _AXIAL_FORM_FACTOR_H_
24 #define _AXIAL_FORM_FACTOR_H_
25 
26 #include <iostream>
27 
29 
30 using std::ostream;
31 
32 namespace genie {
33 
34 class Interaction;
35 class AxialFormFactor;
36 ostream & operator << (ostream & stream, const AxialFormFactor & ff);
37 
39 
40 public:
42  AxialFormFactor(const AxialFormFactor & form_factors);
43  virtual ~AxialFormFactor() { }
44 
45  //! Attach an algorithm
46  void SetModel (const AxialFormFactorModelI * model);
47 
48  //! Calculate the form factors for the input interaction using the attached algorithm
49  void Calculate (const Interaction * interaction);
50 
51  //! Get the computed axial form factor
52  double FA (void) const { return fFA; }
53 
54  //! Get the attached model
55  const AxialFormFactorModelI * Model (void) const {return fModel;}
56 
57  void Reset (Option_t * opt="");
58  void Copy (const AxialFormFactor & ff);
59  bool Compare (const AxialFormFactor & ff) const;
60  void Print (ostream & stream) const;
61 
62  bool operator == (const AxialFormFactor & ff) const;
64  friend ostream & operator << (ostream & stream, const AxialFormFactor & ff);
65 
66 private:
67 
68  double fFA;
69 
71 };
72 
73 } // genie namespace
74 
75 #endif // _AXIAL_FORM_FACTOR_H_
Pure abstract base class. Defines the AxialFormFactorModelI interface to be implemented by LlewellynS...
AxialFormFactor & operator=(const AxialFormFactor &ff)
const AxialFormFactorModelI * fModel
void Calculate(const Interaction *interaction)
Calculate the form factors for the input interaction using the attached algorithm.
void SetModel(const AxialFormFactorModelI *model)
Attach an algorithm.
A class holding the Axial Form Factor.
Summary information for an interaction.
Definition: Interaction.h:56
void Print(ostream &stream) const
bool Compare(const AxialFormFactor &ff) const
bool operator==(const AxialFormFactor &ff) const
double FA(void) const
Get the computed axial form factor.
const AxialFormFactorModelI * Model(void) const
Get the attached model.
friend ostream & operator<<(ostream &stream, const AxialFormFactor &ff)
ostream & operator<<(ostream &stream, const AlgConfigPool &config_pool)
void Copy(const AxialFormFactor &ff)
void Reset(Option_t *opt="")