53 {
54 bool debug = 0;
55
56
58
60
61 if ( p->
getId() != LambdaId && p->
getId() != antiLambdaId )
62 {
63 std::cout << "Parent particle is required to be Lambda0 or antiLambda0" << std::endl;
64 abort();
65 }
66 int more = 0;
67 int numstable = 0;
68 EvtId evtnumstable[100];
69 EvtVector4R p4[20];
70
71
72
73
75 {
76 if ( p->
getId() == LambdaId )
77 {
78
81 if ( debug )
82 std::cout << "FromParent: pi- p4[numstable] = " << p4[numstable] << std::endl;
83 numstable++;
84
87 if ( debug )
88 std::cout << "FromParent: p+ p4[numstable] = " << p4[numstable] << std::endl;
89 numstable++;
90 }
91 if ( p->
getId() == antiLambdaId )
92 {
93 if ( debug )
94 std::cout <<
"anti-Lambda0's parent id:" << p->
getParent()->
getId()
96
99 if ( debug )
100 std::cout << "FromParent: pi+ p4[numstable] = " << p4[numstable] << std::endl;
101 numstable++;
102
105 if ( debug )
106 std::cout << "FromParent: anti-p- p4[numstable] = " << p4[numstable] << std::endl;
107 numstable++;
108 }
110 int ndaugFound = 0;
111 for ( int i = 0; i < numstable; i++ )
112 {
114 ndaugFound++;
115 }
116 if ( ndaugFound == 0 )
117 {
118 report(
ERROR,
"EvtGen" ) <<
"Phokhara has failed to do a decay ";
120 << endl;
121 assert( 0 );
122 }
123 if ( p->
getId() == LambdaId )
124 {
125
126
127
128
129
130 if ( debug )
131 std::cout <<
"EvtFromParent Lambda0's parent id:" << p->
getParent()->
getId()
133 if ( debug ) std::cout <<
"EvtFromParent SUMMARY: part p4" << p->
getP4Lab() << std::endl;
134 if ( debug )
135 std::cout <<
"EvtFromParent SUMMARY: Daug0 p4" << p->
getDaug( 0 )->
getP4Lab()
136 << std::endl;
137 if ( debug )
138 std::cout <<
"EvtFromParent SUMMARY: Daug1 p4" << p->
getDaug( 1 )->
getP4Lab()
139 << std::endl;
140 }
141 if ( p->
getId() == antiLambdaId )
142 {
143
144
145
146
147
148 if ( debug )
149 std::cout <<
"EvtFromParent antiLambda0's parent id:" << p->
getParent()->
getId()
151 if ( debug ) std::cout <<
"EvtFromParent SUMMARY: part p4" << p->
getP4Lab() << std::endl;
152 if ( debug )
153 std::cout <<
"EvtFromParent SUMMARY: Daug0 p4" << p->
getDaug( 0 )->
getP4Lab()
154 << std::endl;
155 if ( debug )
156 std::cout <<
"EvtFromParent SUMMARY: Daug1 p4" << p->
getDaug( 1 )->
getP4Lab()
157 << std::endl;
158 }
159 }
160 return;
161}
ostream & report(Severity severity, const char *facility)
static EvtId evtIdFromStdHep(int stdhep)
static std::string name(EvtId i)
static EvtId getId(const std::string &name)
void makeDaughters(int ndaug, EvtId *id)
virtual void init(EvtId part_n, const EvtVector4R &p4)=0
EvtParticle * getParent()
static int _NextLevelDauNum
const EvtVector4R & getP4() const
EvtParticle * getDaug(int i)
static EvtVector4R _NextLevelP4[20]