55 : _reflect (false), _mirror (false),
58 if (pdgTableFileName !=
"")
75 key.
open(keyFileName);
77 complex<double> amplitude;
94 cerr <<
"invalid index " << iKey <<
"! returning (0,0)" << endl;
95 return complex<double>(0,0);
102 vector<complex<double> >
105 const bool testMode)
const
111 while (!(eventData >> ev).eof())
112 amplitudes.push_back(Amp(keyFileName, ev));
115 cout <<
"!!! test mode!" << endl;
121 while (!(eventData >> ev).eof())
123 amplitudes.push_back(Amp(keyFileName, ev));
127 cout <<
"@@Found a wave" << endl;
129 cout <<
"@@Filling wave" << endl;
133 cout <<
"@@Wave before boosts" << endl;
138 cout <<
"@@Wave after boosts" << endl;
148 vector<complex<double> >
150 istream& eventData)
const
153 cerr <<
"invalid index " << iKey <<
"!" << endl;
154 return vector<complex<double> >();
201 event evOut = L * evIn;
204 list<particle> daughtersRefl = evOut.
f_mesons();
205 for (list<particle>::iterator
i = daughtersRefl.begin();
i != daughtersRefl.end(); ++
i) {
207 daughter.
set(daughter.
t(), daughter.
x(), -daughter.
y(), daughter.
z());
210 evOut.set_f_mesons(daughtersRefl);
213 evOut = Linv * evOut;
225 event evOut = L * evIn;
227 list<particle> daughtersLab = evOut.
f_mesons();
228 for (list<particle>::iterator
i = daughtersLab.begin();
i != daughtersLab.end(); ++
i){
230 daughter.
set(daughter.
t(), -daughter.
x(), -daughter.
y(), -daughter.
z());
233 evOut.set_f_mesons(daughtersLab);
236 evOut = Linv * evOut;
244 const list<particle> daughtersLab = evIn.
f_mesons();
246 for (list<particle>::const_iterator
i = daughtersLab.begin();
i != daughtersLab.end(); ++
i)
251 const threeVec prodPlaneNormal = beamLab.
V() / XLab.
V();
252 static const double piHalf = acos(-1.0) / 2.0;
254 prodPlaneNormal.
theta() - piHalf,
260 beam *= rotScatPlane;