BOSS 8.0.0
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#include "EvtComplex.hh"
23#include <string>
24#include <vector>
25
26class EvtDecayMode;
27
29
31
32public:
33 EvtMultiChannelParser() : _pdfMax( -1. ), _nScan( 0 ), _dm( 0. ) {}
35
36 static EvtDecayMode getDecayMode( const char* file );
37
38 void parse( const char* file, const char* model );
39 void parse( const std::vector<std::string>& v );
40
41 static void parseComplexCoef( int& i, const std::vector<std::string>& v, EvtComplex& c,
42 int& format );
43 static double parseRealCoef( int& i, const std::vector<std::string>& v );
44 static bool isKeyword( const std::string& s );
45
46 inline double pdfMax() const { return _pdfMax; }
47 inline int nScan() const { return _nScan; }
48 inline double dm() const { return _dm; }
49
50 inline std::vector<std::string> amp( int i ) const { return _amp[i]; }
51 inline std::vector<std::string> ampConj( int i ) const { return _ampConj[i]; }
52 inline EvtComplex ampCoef( int i ) const { return _ampCoef[i]; }
53 inline EvtComplex ampConjCoef( int i ) const { return _ampConjCoef[i]; }
54
55 inline int coefFormat( int i ) const { return _coefFormat[i]; }
56 inline int coefConjFormat( int i ) const { return _coefConjFormat[i]; }
57
58 inline int getNAmp() const { return _amp.size(); }
59 inline int getNAmpConj() const { return _ampConj.size(); }
60
61private:
62 double _pdfMax;
63 int _nScan;
64 double _dm;
65
66 std::vector<std::vector<std::string>> _amp;
67 std::vector<std::vector<std::string>> _ampConj;
68 std::vector<EvtComplex> _ampCoef;
69 std::vector<int> _coefFormat;
70 std::vector<EvtComplex> _ampConjCoef;
71 std::vector<int> _coefConjFormat;
72};
73
74#endif
char * file
Definition DQA_TO_DB.cxx:16
XmlRpcServer s
**********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)
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)