BOSS 7.0.3
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtMultiChannelParser.hh
Go to the documentation of this file.
1//-----------------------------------------------------------------------
2// File and Version Information:
3// $Id: EvtMultiChannelParser.hh,v 1.1.1.2 2007/10/26 05:03:14 pingrg Exp $
4//
5// Environment:
6// This software is part of the EvtGen package developed jointly
7// for the BaBar and CLEO collaborations. If you use all or part
8// of it, please give an appropriate acknowledgement.
9//
10// Copyright Information:
11// Copyright (C) 1998 Caltech, UCSB
12//
13// Module creator:
14// Alexei Dvoretskii, Caltech, 2001-2002.
15//-----------------------------------------------------------------------
16
17// Parse decay file tokens from a file or a vector
18
19#ifndef EVT_MULTI_CHANNEL_PARSER
20#define EVT_MULTI_CHANNEL_PARSER
21
22
23#include <vector>
24#include <string>
26
27class EvtDecayMode;
28
30
32
33public:
34
35 EvtMultiChannelParser() : _pdfMax(-1.), _nScan(0), _dm(0.) {}
37
38 static EvtDecayMode getDecayMode(const char* file);
39
40 void parse(const char* file, const char* model);
41 void parse(const std::vector<std::string>& v);
42
43 static void parseComplexCoef(int& i, const std::vector<std::string>& v,
44 EvtComplex& c, int& format);
45 static double parseRealCoef(int& i, const std::vector<std::string>& v);
46 static bool isKeyword(const std::string& s);
47
48 inline double pdfMax() const { return _pdfMax; }
49 inline int nScan() const { return _nScan; }
50 inline double dm() const { return _dm; }
51
52 inline std::vector<std::string> amp(int i) const { return _amp[i]; }
53 inline std::vector<std::string> ampConj(int i) const { return _ampConj[i]; }
54 inline EvtComplex ampCoef(int i) const { return _ampCoef[i]; }
55 inline EvtComplex ampConjCoef(int i) const { return _ampConjCoef[i]; }
56
57 inline int coefFormat(int i) const { return _coefFormat[i]; }
58 inline int coefConjFormat(int i) const { return _coefConjFormat[i]; }
59
60 inline int getNAmp() const { return _amp.size(); }
61 inline int getNAmpConj() const { return _ampConj.size(); }
62
63private:
64
65 double _pdfMax;
66 int _nScan;
67 double _dm;
68
69 std::vector<std::vector<std::string> > _amp;
70 std::vector<std::vector<std::string> > _ampConj;
71 std::vector<EvtComplex> _ampCoef;
72 std::vector<int> _coefFormat;
73 std::vector<EvtComplex> _ampConjCoef;
74 std::vector<int> _coefConjFormat;
75};
76
77#endif
78
79
80
81
82
char * file
Definition: DQA_TO_DB.cxx:15
XmlRpcServer s
Definition: HelloServer.cpp:11
**********Class see also m_nmax DOUBLE PRECISION m_amel DOUBLE PRECISION m_x2 DOUBLE PRECISION m_alfinv DOUBLE PRECISION m_Xenph INTEGER m_KeyWtm INTEGER m_idyfs DOUBLE PRECISION m_zini DOUBLE PRECISION m_q2 DOUBLE PRECISION m_Wt_KF DOUBLE PRECISION m_WtCut INTEGER m_KFfin *COMMON c_KarLud $ !Input CMS energy[GeV] $ !CMS energy after beam spread beam strahlung[GeV] $ !Beam energy spread[GeV] $ !z boost due to beam spread $ !electron beam mass *ff pair spectrum $ !minimum v
Definition: KarLud.h:35
static EvtDecayMode getDecayMode(const char *file)
void parse(const char *file, const char *model)
int coefConjFormat(int i) const
static void parseComplexCoef(int &i, const std::vector< std::string > &v, EvtComplex &c, int &format)
static bool isKeyword(const std::string &s)
std::vector< std::string > ampConj(int i) const
EvtComplex ampConjCoef(int i) const
std::vector< std::string > amp(int i) const
EvtComplex ampCoef(int i) const
static double parseRealCoef(int &i, const std::vector< std::string > &v)