FlyoDoc_2011 Pisa 2011 by GmP --- 011
|
#include <partfase.h>
Public Member Functions | |
virtual void | Get_PhaseSpace () |
virtual void | Get_PhaseParm () |
virtual void | Get_MatrixParm () |
virtual int | Get_MatrixValue () |
virtual void | DecParm () |
virtual int | Svalues () |
virtual double | Get_e1 () |
virtual double | Get_e2 () |
virtual double | Get_e0 () |
virtual double | Get_S1 () |
virtual double | Get_S2 () |
virtual double | Get_S0 () |
virtual int | Get_ss_done () |
Public Attributes | |
double | mpadre |
double | mpadreq |
double | mfrate |
double | mfrateq |
double | mchd1 |
double | mchd2 |
double | mchd3 |
double | mchd4 |
double | mchd5 |
double | mchd1q |
double | mchd2q |
double | mchd3q |
double | mchd4q |
double | mchd5q |
double | mres |
double | mresq |
double | eres |
double | pstar1 |
double | estar1 |
double | cst |
double | fi |
double | mmin |
double | mmax |
double | mminq |
double | mmaxq |
double | dmq |
double | mmin2 |
double | mmax2 |
double | mminq2 |
double | mmaxq2 |
double | dmq2 |
double | mres2 |
double | mresq2 |
double | mmin3 |
double | mmax3 |
double | mminq3 |
double | mmaxq3 |
double | dmq3 |
double | mres3 |
double | mresq3 |
double | e0 |
double | e1 |
double | e2 |
double | s0 |
double | s1 |
double | s2 |
double | Pt |
double | gam |
double | eta |
double | pstar |
double | w |
double | wn |
double | wfase_max |
int | ss_done |
int | iterfs |
qvet | P1 |
qvet | P2 |
qvet | P3 |
Particella * | p1 |
Particella * | p2 |
Particella * | p3 |
Particella * | p4 |
Particella * | p5 |
Particella * | pr1 |
Particella * | pr2 |
Particella * | pr3 |
PartFase * | res_next |
Three bodies decay following the phase space... via the dummy res :Res
Definition at line 26 of file partfase.h.
void PartFase::DecParm | ( | ) | [virtual] |
procedura per il decadimento in tre particelle esempio K ->p1+p2+p3
Reimplemented from Particella.
Definition at line 60 of file partfase.cpp.
{ // K -> mfrate mres // -> mchd1 mchd2 // solo spazio fasi..... if ( p1==0 ) // inizialization... only first time { Get_PhaseParm(); // initialize links and phase parms Get_MatrixParm(); // Matrix parms if needed } // ------------------------------- // qui sempre... // get the fase_space point: e0,e1,e2,mres,mresq,cst int itermtr=0; while ( itermtr++<200 ) { // nota: normalmente in Get_PhaseSpace ci sono 1...6 iterazioni! Get_PhaseSpace(); // Attenzione! qui ora hai dipsonibili e0,e1,e2, mres,mresq,cst // if the matrix prob is ok break to iter !! if ( Get_MatrixValue() ) break; // get matrix value if needed ... here does nothing. } if ( itermtr>100 ) Gout<<"\n Ev "<< evento_.Gen.Event <<" Matrix warning: too many iters... chek! "<<itermtr<<" "<< SelRea->Get_Titolo(); //----------------------------------------------------- // define the mass and the quadrimomentum (qvet) of the decay particle.(mres)... Set_Massa ( mres ); P.Riposo ( mres ); //Definizione di P a riposo nel cm di mres // calcolo la direzione di decadimento dei figli. // uso i puntatori definiti in Get_PhaseParm() per non sbagliare le particelle... fi = DuePiGreco * Pran(); p2->cstar=cst; p2->fistar=fi; p3->cstar=-cst; p3->fistar=fi+PiGreco; }