19 #ifndef EVT_MULTI_CHANNEL_PARSER
20 #define EVT_MULTI_CHANNEL_PARSER
25 #include "EvtGenBase/EvtComplex.hh"
29 enum {POLAR_RAD,POLAR_DEG,CARTESIAN};
40 void parse(
const char* file,
const char* model);
41 void parse(
const std::vector<std::string>& v);
43 static void parseComplexCoef(
size_t& i,
const std::vector<std::string>& v,
45 static double parseRealCoef(
int& i,
const std::vector<std::string>& v);
46 static bool isKeyword(
const std::string& s);
48 inline double pdfMax()
const {
return _pdfMax; }
49 inline int nScan()
const {
return _nScan; }
50 inline double dm()
const {
return _dm; }
51 inline double mixPhase()
const {
return _mixPhase; }
52 inline double mixAmpli()
const {
return _mixAmpli; }
54 inline std::vector<std::string> amp(
int i)
const {
return _amp[i]; }
55 inline std::vector<std::string> ampConj(
int i)
const {
return _ampConj[i]; }
56 inline EvtComplex ampCoef(
int i)
const {
return _ampCoef[i]; }
57 inline EvtComplex ampConjCoef(
int i)
const {
return _ampConjCoef[i]; }
59 inline int coefFormat(
int i)
const {
return _coefFormat[i]; }
60 inline int coefConjFormat(
int i)
const {
return _coefConjFormat[i]; }
62 inline int getNAmp()
const {
return _amp.size(); }
63 inline int getNAmpConj()
const {
return _ampConj.size(); }
73 std::vector<std::vector<std::string> > _amp;
74 std::vector<std::vector<std::string> > _ampConj;
75 std::vector<EvtComplex> _ampCoef;
76 std::vector<int> _coefFormat;
77 std::vector<EvtComplex> _ampConjCoef;
78 std::vector<int> _coefConjFormat;