herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
MIPWA.h
1// -*- C++ -*-
2#ifndef Herwig_MIPWA_H
3#define Herwig_MIPWA_H
4//
5// This is the declaration of the MIPWA class.
6//
7
8#include "DalitzResonance.h"
9#include "Herwig/Utilities/Interpolator.h"
10
11namespace Herwig {
12
13using namespace ThePEG;
14
18class MIPWA: public DalitzResonance {
19
20public:
21
26 {}
27
31 MIPWA(long pid, ResonanceType::Type rtype, Energy m, Energy w,
32 unsigned int d1, unsigned int d2, unsigned int s,
33 double mag, double phi, InvEnergy rr,
34 vector<Energy> en, vector<double> mag2, vector<double> phi2)
35 : DalitzResonance(pid,rtype,m,w,d1,d2,s,mag,phi,rr),
36 energy_(en), mag_(mag2), phase_(phi2)
37 {}
38
39public:
40
44 virtual Complex BreitWigner(const Energy & mAB, const Energy & mA, const Energy & mB) const;
45
49 virtual void dataBaseOutput(ofstream & output);
50
51public:
52
60
66 void persistentInput(PersistentIStream & is, int version);
68
75 static void Init();
76
77private:
78
83 MIPWA & operator=(const MIPWA &) = delete;
84
85private:
86
90 vector<Energy> energy_;
91
95 vector<double> mag_;
96
100 vector<double> phase_;
101
110
116
117};
118
119}
120
121#endif /* Herwig_MIPWA_H */
The DalitzResonance class provides a container class for information on resonances in multi-body dali...
Ptr< Interpolator< ValT, ArgT > >::pointer Ptr
Pointer to an Interpolator.
Definition: Interpolator.h:38
The MIPWA class allows the use on experimental extractions from Model Independent Partial Wave Analys...
Definition: MIPWA.h:18
MIPWA & operator=(const MIPWA &)=delete
The assignment operator is private and must never be called.
MIPWA(long pid, ResonanceType::Type rtype, Energy m, Energy w, unsigned int d1, unsigned int d2, unsigned int s, double mag, double phi, InvEnergy rr, vector< Energy > en, vector< double > mag2, vector< double > phi2)
Constructor specifiying the parameters.
Definition: MIPWA.h:31
static void Init()
The standard Init function used to initialize the interfaces.
vector< double > phase_
The phase of the amplitudes for the data table.
Definition: MIPWA.h:100
Interpolator< double, Energy >::Ptr iPhase_
The interpolator for the imaginary part.
Definition: MIPWA.h:114
vector< Energy > energy_
The energy points for the data table.
Definition: MIPWA.h:90
Interpolator< double, Energy >::Ptr iMag_
Interpolators.
Definition: MIPWA.h:109
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
vector< double > mag_
The magnitude of the amplitudes for the data table.
Definition: MIPWA.h:95
MIPWA()
The default constructor.
Definition: MIPWA.h:25
virtual void dataBaseOutput(ofstream &output)
Output the parameters.
virtual Complex BreitWigner(const Energy &mAB, const Energy &mA, const Energy &mB) const
Return the Breit-Wigner times the form factor.
-*- C++ -*-
std::complex< double > Complex