35 _multiplicity[theTag]++;
40 _nmode.push_back(theMode);
45 for(
int i=0;i<ndaug;i++){
47 if(par == root_par && theDaug->
getNDaug()!=0){
49 _nmode.push_back(theMode);
55 if (
id == 310) _multiplicity[6]++;
56 if (
id ==3122) _multiplicity[7]++;
62 for(
int i=0;i<NDD;i++){
66 _nmode.push_back(ndd);
91 if( absid == 22 ) {
return 0;}
92 else if(absid == 11 ) {
return 1;}
93 else if(absid == 13) {
return 2;}
94 else if(absid == 211) {
return 3;}
95 else if(absid == 321) {
return 4;}
96 else if(absid ==2212) {
return 5;}
97 else if(absid == 310) {
return 6;}
98 else if(absid ==3122) {
return 7;}
104 std::vector<int> intFlag = root_par->
getIntFlag();
105 if(intFlag.size()>0){
106 if(intFlag[0]==74110 || intFlag[0]==-100)
return intFlag[1];
112 double seg0,seg1,seg2;
116 int themode = 1000000000;
120 if(_nmode.size()==1) {themode += _nmode[0]*six;
return themode;}
121 else if(_nmode.size() == 2){
122 seg0 = _nmode[0]*six;
123 seg1 = _nmode[1]*
three;
124 themode += seg0 + seg1;
127 else if(_nmode.size() >= 3){
128 seg0 = _nmode[0]*six;
129 seg1 = _nmode[1]*
three;
131 themode += seg0 + seg1 + seg2;
142 for(
int i=1; i<9; i++){
143 if (_multiplicity[i] >9)
return 0;
145 for(
int i=0; i<9; i++){
147 int dig = pow(10,ndx);
148 thetag += dig*_multiplicity[i];
156 if( index ==0 || index>=100 && index <1000) {
return index;}
void makeTag(EvtParticle *par)
int getHdrdBase(int index)
static int getStdHep(EvtId id)
EvtParticle * getDaug(int i)
std::vector< int > getIntFlag()
double precision pisqo6 three