elegent is hosted by Hepforge, IPPP Durham
Elegent
FerreiraModel.h
1 /********************************************************************************
2 
3  Copyright 2013 Jan Kašpar
4 
5  This file is part of Elegent (http://elegent.hepforge.org/).
6 
7  Elegent is free software: you can redistribute it and/or modify
8  it under the terms of the GNU General Public License as published by
9  the Free Software Foundation, either version 3 of the License, or
10  (at your option) any later version.
11 
12  Elegent is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  GNU General Public License for more details.
16 
17  You should have received a copy of the GNU General Public License
18  along with Elegent. If not, see <http://www.gnu.org/licenses/>.
19 
20 ********************************************************************************/
21 
22 #ifndef _elegent_ferreira_model_
23 #define _elegent_ferreira_model_
24 
25 #include "Model.h"
26 #include "Math.h"
27 
28 namespace Elegent
29 {
30 
38 class FerreiraModel : public Model
39 {
40  public:
41  FerreiraModel();
42  ~FerreiraModel();
43 
44  void Configure();
45  virtual void Init();
46  virtual void Print() const;
47  virtual TComplex Amp(double t) const;
48  virtual TComplex Prf(double b_fm) const;
49 
50  protected:
51  double a0;
52 
53  double al_i, al_r;
54  double be_i, be_r;
55  double ga_i, ga_r;
56  double la_i, la_r;
57 
59  double N;
60 
62  double Psi(double ga, double t) const;
63 
65  double R_ggg(double t) const;
66 
67  static TComplex Amp_J0(double t, double *par, const void *vobj);
68 
70  double upper_bound_t, precision_t;
71 
72  bool integ_workspace_initialized;
73  unsigned long integ_workspace_size_t;
74  gsl_integration_workspace *integ_workspace_t;
75 };
76 
77 } // namespace
78 
79 #endif
virtual TComplex Prf(double b_fm) const
Profile function (amplitude in b-space).
Definition: FerreiraModel.cc:163
Definition: BHModel.h:28
double N
normalisation factor sqrt(s p^2 / pi)
Definition: FerreiraModel.h:59
virtual void Print() const
prints model info
Definition: FerreiraModel.cc:99
virtual TComplex Amp(double t) const
Amplitude in t-space.
Definition: FerreiraModel.cc:137
double Psi(double ga, double t) const
Eq. (19) in [1].
Definition: FerreiraModel.cc:112
virtual void Init()
sets up model parameters and data members
Definition: FerreiraModel.cc:62
The base class for hadronic models of (anti)proton-proton elastic scattering.
Definition: Model.h:35
Model of elastic pp scattering by Ferreira et al.
Definition: FerreiraModel.h:38
double upper_bound_t
integration variables
Definition: FerreiraModel.h:70
double R_ggg(double t) const
Eq. (14) in [2].
Definition: FerreiraModel.cc:123