00039 {
00040 NLtrk1 = false;
00041 NLtrk2 = false;
00042 NLtrkN = false;
00043 LTrk_BB = false;
00044 NStrk1 = false;
00045 NStrk2 = false;
00046 NStrkN = false;
00047 STrk_BB = false;
00048 NItrk1 = false;
00049 NItrk2 = false;
00050
00051 if(!m_MdcTCount) std::cerr<<"can not initialize mdcTCount"<<std::endl;
00052 m_MdcTCount->GetTCount();
00053 int nItrk1 = m_MdcTCount->GetnItrkSL1();
00054 int nItrk2 = m_MdcTCount->GetnItrkSL2();
00055
00056
00057 int MAXMDCTRACK = m_pIBGT->getMAXMDCTRACK();
00058 if((nItrk1 >= 1) || (nItrk2 >= 1)) NItrk1 = true;
00059 if((nItrk1 >= 1) && (nItrk2 >= 1)) NItrk2 = true;
00060
00061
00062 std::vector<int> stmp;
00063 std::vector<int>::iterator siter;
00064 stmp.clear();
00065 stmp = m_MdcTCount->GetstrackId();
00066 int nstrk = stmp.size();
00067 if(nstrk>=1) NStrk1 = true;
00068 if(nstrk>=2) NStrk2 = true;
00069 if(nstrk>=MAXMDCTRACK) NStrkN = true;
00070
00071
00072
00073 for(siter=stmp.begin();siter!=stmp.end();siter++)
00074 {
00075 for(int i=0;i<15;i++)
00076 {
00077 if(((*siter)+i+57)>127)
00078 {
00079 int id;
00080 id = (*siter)+i+57-128;
00081 if(find(stmp.begin(),stmp.end(),id)!=stmp.end()) { STrk_BB = true; break; }
00082 }
00083 else
00084 {
00085 int id;
00086 id = (*siter)+i+57;
00087 if(find(stmp.begin(),stmp.end(),id)!=stmp.end()) { STrk_BB = true; break; }
00088 }
00089 }
00090
00091 if(STrk_BB == true) break;
00092 }
00093
00094 std::vector<int> ltmp;
00095 std::vector<int>::iterator liter;
00096 ltmp.clear();
00097 ltmp = m_MdcTCount->GetltrackId();
00098 int nltrk = ltmp.size();
00099 if(nltrk>=1) NLtrk1 = true;
00100 if(nltrk>=2) NLtrk2 = true;
00101 if(nltrk>=MAXMDCTRACK) NLtrkN = true;
00102
00103 for(liter=ltmp.begin();liter!=ltmp.end();liter++)
00104 {
00105 for(int i=0;i<15;i++)
00106 {
00107 if(((*liter)+i+57)>127)
00108 {
00109 int id;
00110 id = (*liter)+i+57-128;
00111 if(find(ltmp.begin(),ltmp.end(),id)!=ltmp.end()) { LTrk_BB = true; break; }
00112 }
00113 else
00114 {
00115 int id;
00116 id = (*liter)+i+57;
00117 if(find(ltmp.begin(),ltmp.end(),id)!=ltmp.end()) { LTrk_BB = true; break; }
00118 }
00119 }
00120
00121 if(LTrk_BB == true) break;
00122 }
00123
00124
00125 m_pIBGT->setSTrk_BB(STrk_BB);
00126 m_pIBGT->setNStrkN(NStrkN);
00127 m_pIBGT->setNStrk2(NStrk2);
00128 m_pIBGT->setNStrk1(NStrk1);
00129 m_pIBGT->setLTrk_BB(LTrk_BB);
00130 m_pIBGT->setNLtrkN(NLtrkN);
00131 m_pIBGT->setNLtrk2(NLtrk2);
00132 m_pIBGT->setNLtrk1(NLtrk1);
00133 m_pIBGT->setNItrk2(NItrk2);
00134 m_pIBGT->setNItrk1(NItrk1);
00135 }