1 #ifndef _TauolaParticlePair_h_included_
2 #define _TauolaParticlePair_h_included_
30 #include "TauolaParticle.h"
33 namespace TauSpinner {
35 extern double getLongitudinalPolarization(
double,SimpleParticle&,SimpleParticle&);
47 friend double TauSpinner::getLongitudinalPolarization(
double,TauSpinner::SimpleParticle&,TauSpinner::SimpleParticle&);
94 static void setBornKinematics(
int incoming_pdg_id,
int outgoing_pdg_id,
double invariant_mass_squared,
double cosTheta);
98 std::vector<TauolaParticle*> m_final_particles;
102 std::vector<TauolaParticle*> m_production_particles;
108 bool m_mother_exists;
111 std::vector<TauolaParticle*> m_grandmothers;
114 void recalculateRij(
int incoming_pdg_id,
int outgoing_pdg_id,
double invariant_mass_squared,
double cosTheta);
117 void rotateSystem(vector<TauolaParticle *> grandmothers,
118 vector<TauolaParticle *> taus,
131 void boostFromLabToTauPairFrame(
double * rotation_angle1,
132 double * rotation_angle2,
133 double * rotation_angle3,
135 vector<TauolaParticle *> grandmothers,
136 vector<TauolaParticle *> taus);
139 void boostFromTauPairToLabFrame(
double rotation_angle1,
140 double rotation_angle2,
141 double rotation_angle3,
143 vector<TauolaParticle *> grandmothers,
144 vector<TauolaParticle *> taus);
148 void initializeDensityMatrix();
155 TauolaParticle * makeTemporaryMother(vector<TauolaParticle *> taus);
160 double getZPolarization(
int *incoming_pdg_id,
161 int *outgoing_pdg_id,
170 std::vector<TauolaParticle*> * candidates_same,
171 std::vector<TauolaParticle*> * candidates_opp);
185 extern double plzap0_(
int *incoming_pdg_id,
186 int *outgoing_pdg_id,
bool contains(TauolaParticle *particle)
TauolaParticle * getTauMinus(std::vector< TauolaParticle * > particles)
TauolaParticle * getGrandmotherMinus(std::vector< TauolaParticle * > particles)
void checkMomentumConservation()
TauolaParticle * getGrandmotherPlus(std::vector< TauolaParticle * > particles)
TauolaParticle * getTauPlus(std::vector< TauolaParticle * > particles)