GENIEGenerator
Loading...
Searching...
No Matches
RSHelicityAmpl.h
Go to the documentation of this file.
1//____________________________________________________________________________
2/*!
3
4\class genie::RSHelicityAmpl
5
6\brief A class holding the Rein-Sehgal's helicity amplitudes.
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 RSHelicityAmplModelI interface, that it finds attached to itself.
12
13\author Costas Andreopoulos <c.andreopoulos \at cern.ch>
14 University of Liverpool
15
16\created May 03, 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 _RS_HELICITY_AMPL_H_
24#define _RS_HELICITY_AMPL_H_
25
26#include <iostream>
27
28#include <TMath.h>
29
32
33using std::ostream;
34
35namespace genie {
36
37class RSHelicityAmpl;
38ostream & operator<< (ostream & stream, const RSHelicityAmpl & hamp);
39
41
47
48public:
49
51 RSHelicityAmpl(const RSHelicityAmpl & hamp);
53
54 //! return helicity amplitude
55 double AmpMinus1 (void) const { return fMinus1; } /* f(-1) */
56 double AmpPlus1 (void) const { return fPlus1; } /* f(+1) */
57 double AmpMinus3 (void) const { return fMinus3; } /* f(-3) */
58 double AmpPlus3 (void) const { return fPlus3; } /* f(+3) */
59 double Amp0Minus (void) const { return f0Minus; } /* f(0-) */
60 double Amp0Plus (void) const { return f0Plus; } /* f(0+) */
61
62 //! return |helicity amplitude|^2
63 double Amp2Minus1 (void) const { return TMath::Power(fMinus1, 2.); } /* |f(-1)|^2 */
64 double Amp2Plus1 (void) const { return TMath::Power(fPlus1, 2.); } /* |f(+1)|^2 */
65 double Amp2Minus3 (void) const { return TMath::Power(fMinus3, 2.); } /* |f(-3)|^2 */
66 double Amp2Plus3 (void) const { return TMath::Power(fPlus3, 2.); } /* |f(+3)|^2 */
67 double Amp20Minus (void) const { return TMath::Power(f0Minus, 2.); } /* |f(0-)|^2 */
68 double Amp20Plus (void) const { return TMath::Power(f0Plus, 2.); } /* |f(0+)|^2 */
69
70 friend ostream & operator<< (ostream & stream, const RSHelicityAmpl & hamp);
71
72 void Print(ostream & stream) const;
73
74private:
75
76 void Init(void);
77
78 double fMinus1;
79 double fPlus1;
80 double fMinus3;
81 double fPlus3;
82 double f0Minus;
83 double f0Plus;
84};
85
86} // genie namespace
87
88#endif // _RS_HELICITY_AMPL_H_
A class holding the Rein-Sehgal's helicity amplitudes.
friend class RSHelicityAmplModelCC
void Print(ostream &stream) const
double Amp0Minus(void) const
double Amp2Minus3(void) const
double Amp2Minus1(void) const
return |helicity amplitude|^2
double AmpPlus3(void) const
double Amp0Plus(void) const
friend class RSHelicityAmplModelNCp
double Amp2Plus3(void) const
double AmpPlus1(void) const
friend class RSHelicityAmplModelEMn
double Amp20Minus(void) const
friend class RSHelicityAmplModelEMp
double Amp20Plus(void) const
double AmpMinus3(void) const
double AmpMinus1(void) const
return helicity amplitude
double Amp2Plus1(void) const
friend class RSHelicityAmplModelNCn
friend ostream & operator<<(ostream &stream, const RSHelicityAmpl &hamp)
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25
ostream & operator<<(ostream &stream, const AlgConfigPool &config_pool)