### TABLE OF CONTENTS

## /formfactors_A_piMinus_proton [ Modules ]

NAME

module **formfactors_A_piMinus_proton**

PURPOSE

This module formfactors_A reads in the form factors for gamma* N -> N pi out of text files and includes modules to return the form factors as functions of theta, s and Q^2.

For the isospin channel gamma n -> p pi^-.

INPUTS

None

## formfactors_A_piMinus_proton/getA_piMinus_proton [ Functions ]

[ Top ] [ formfactors_A_piMinus_proton ] [ Functions ]

NAME

function **getA_piMinus_proton**(thetaIn,sIn,QSquaredIn)

PURPOSE

This function returns the invariant Amplitudes A_1, ... A_6 of the MAID analysis.

INPUTS

- real :: thetaIn ! Theta scattering angle of the pion relative to q in the CM system of the hadronic vertex
- real :: QSquaredIn ! Q^2=-q^mu q_mu of the gamma
- real :: sIn ! Mandelstam s of the hadronic vertex: gamma* N-> pi N

OUTPUT

complex, dimension(1:6) :: getA ! The complex amplitudes A_1 to A_6 in units of:

- [GeV**-2] for A(1)
- [GeV**-4] for A(2) and A(5)
- [GeV**-3] for A(3), A(4) and A(5)

## getA_piMinus_proton/get_i [ Functions ]

[ Top ] [ getA_piMinus_proton ] [ Functions ]

NAME

integer function **get_i**(tin,Win,Qin,int_nint_switch)

PURPOSE

Evaluates index which corresponds to the grid point which lies closest to the input values:

- For int_nint_switch=.false. it's the overall closest point
- For int_nint_switch=.true. it's the closest point which is also in all dimensions closer to 0 than the input point.

## getA_piMinus_proton/get_neighbors [ Functions ]

[ Top ] [ getA_piMinus_proton ] [ Functions ]

NAME

function **get_neighbors**(tin,Win,Qin)

PURPOSE

Returns the eight grid points which are defining the smallest cube in which the input point (tin,win,Qin) can be locked into. These are the neighboring grid-points of our input point.

OUTPUT

integer,dimension(1:8) :: **get_neighbors**

## getA_piMinus_proton/init_datFile [ Functions ]

[ Top ] [ getA_piMinus_proton ] [ Functions ]

NAME

subroutine **init_datFile**

PURPOSE

Reads in the MAID input file, writes into FF_A.dat the control output. It expects an input file with the following format:

- first some comment lines (doesn't matter how many)
- Data lines with the following order : W, ThetaCM , Q^2 ,s ,t, Re(A_1), Im(A_1),...Re(A_6), Im(A_6)

The loop structure to generate this input file should be :

- thetaCM-Loop, W-Loop, Q^2-Loop

OUPTUT Initializes the fields:

- complex, save , dimension(:,:), Allocatable :: A
- real, save , dimension(:) , Allocatable :: W, theta, Q2, s, t
- real,save :: W_max, theta_max, q2_max ! maximaal values for W,theta,q^2
- real, save :: dW,dTheta,dQ2 ! steps size for W,theta,q^2
- integer, save :: numSteps_q,numSteps_t,numSteps_w ! number of different values for q^2,theta, w