Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

BesMucTrig Class Reference

#include <BesMucTrig.h>

List of all members.

Public Member Functions

 BesMucTrig ()
 BesMucTrig ()
void findTrack ()
void findTrack ()
std::vector< int > getNhitLayer ()
std::vector< int > getNhitLayer ()
int getNhitPart (int i)
int getNhitPart (int i)
std::vector< int > getNhitSeg ()
std::vector< int > getNhitSeg ()
int getNhitTotal ()
int getNhitTotal ()
int getNlayerPart (int part)
int getNlayerPart (int part)
std::vector< int > getNlayerSeg ()
std::vector< int > getNlayerSeg ()
void readIndex ()
void readIndex ()
void setIndex ()
void setIndex ()
void startMucTrig ()
void startMucTrig ()
 ~BesMucTrig ()
 ~BesMucTrig ()

Private Attributes

int btrack
int etrack
int foBR [8][4][7]
int foEC [2][4][4][4]
MucTrigHitm_MucTrigHit
MucTrigHitm_MucTrigHit
BesGlobalTrigSvcm_pIBGT
BesGlobalTrigSvcm_pIBGT
IBesGlobalTrigSvcm_tmpSvc
IBesGlobalTrigSvcm_tmpSvc
int nfireLayerBR [8][4]
int nfireLayerEC [2][4][4]
int nhitBR
int nhitEC [2]
int nhitLayerBR [8][4]
int nhitLayerEC [2][4][4]
int nhitSegBR [8]
int nhitSegEC [2][4]
int track3lBR [8]
int track3lEE [4]
int track3lWE [4]
int trackBR [8]
int trackEE [4]
int trackWE [4]
std::vector< int > vfireLayer
std::vector< int > vfireLayer
std::vector< int > vhitLayer
std::vector< int > vhitLayer
std::vector< int > vhitSeg
std::vector< int > vhitSeg
std::vector< int > vIndex
std::vector< int > vIndex
std::vector< std::vector<
int > > 
vindexb
std::vector< std::vector<
int > > 
vindexb
std::vector< std::vector<
int > > 
vindexb3
std::vector< std::vector<
int > > 
vindexb3
std::vector< std::vector<
int > > 
vindexe
std::vector< std::vector<
int > > 
vindexe


Constructor & Destructor Documentation

BesMucTrig::BesMucTrig  ) 
 

00028 {
00029   m_MucTrigHit = MucTrigHit::get_Muc();
00030   ISvcLocator* svcLocator = Gaudi::svcLocator();
00031   StatusCode sc = svcLocator->service("BesGlobalTrigSvc", m_tmpSvc);
00032   if(!sc.isSuccess()) cerr<<"Fatal error: can not get trigger service"<<endl;
00033   m_pIBGT = dynamic_cast<BesGlobalTrigSvc* >(m_tmpSvc);
00034 
00035   readIndex();
00036 }

BesMucTrig::~BesMucTrig  ) 
 

00039 {
00040 }

BesMucTrig::BesMucTrig  ) 
 

BesMucTrig::~BesMucTrig  ) 
 


Member Function Documentation

void BesMucTrig::findTrack  ) 
 

void BesMucTrig::findTrack  ) 
 

00116 {
00117   //find tracks in barrel
00118   for(int i=0; i<8; i++)
00119   {
00120     trackBR[i] = 0;
00121     track3lBR[i] = 0;
00122     if(i!=2) {
00123       for(unsigned int j=0; j<vindexb.size(); j++)
00124       {
00125         int ly1,ly2,ly3,ly4;
00126         ly1 = vindexb[j][0];
00127         ly2 = vindexb[j][1]-10;
00128         ly3 = vindexb[j][2]-20;
00129         ly4 = vindexb[j][3]-30;
00130         if((foBR[i][0][ly1]+foBR[i][1][ly2]+foBR[i][2][ly3]+foBR[i][3][ly4])>=3) {
00131           trackBR[i]++; 
00132           break; 
00133         }
00134         if(foBR[i][0][ly1]==1&&foBR[i][2][ly3]==1) { trackBR[i]++; break; }
00135         if(foBR[i][1][ly2]==1&&foBR[i][3][ly4]==1) { trackBR[i]++; break; }
00136       }
00137      
00138       for(unsigned int j=0; j<vindexb.size(); j++)
00139       {
00140         int ly1,ly2,ly3,ly4;
00141         ly1 = vindexb[j][0];
00142         ly2 = vindexb[j][1]-10;
00143         ly3 = vindexb[j][2]-20;
00144         ly4 = vindexb[j][3]-30;
00145         if((foBR[i][0][ly1]+foBR[i][1][ly2]+foBR[i][2][ly3]+foBR[i][3][ly4])>=3) {
00146           track3lBR[i]++;
00147           break;
00148         }
00149       }
00150     }
00151     if(i==2) {
00152       for(unsigned int j=0; j<vindexb3.size(); j++)
00153       {
00154         int ly1,ly2,ly3,ly4;
00155         ly1 = vindexb3[j][0];
00156         ly2 = vindexb3[j][1]-10;
00157         ly3 = vindexb3[j][2]-20;
00158         ly4 = vindexb3[j][3]-30;
00159         if((foBR[i][0][ly1]+foBR[i][1][ly2]+foBR[i][2][ly3]+foBR[i][3][ly4])>=3) { 
00160           trackBR[i]++; 
00161           break;
00162         }
00163         if(foBR[i][0][ly1]==1&&foBR[i][2][ly3]==1) { trackBR[i]++; break; }
00164         if(foBR[i][1][ly2]==1&&foBR[i][3][ly4]==1) { trackBR[i]++; break; }
00165       }
00166 
00167       for(unsigned int j=0; j<vindexb3.size(); j++)
00168       {
00169         int ly1,ly2,ly3,ly4;
00170         ly1 = vindexb3[j][0];
00171         ly2 = vindexb3[j][1]-10;
00172         ly3 = vindexb3[j][2]-20;
00173         ly4 = vindexb3[j][3]-30;
00174         if((foBR[i][0][ly1]+foBR[i][1][ly2]+foBR[i][2][ly3]+foBR[i][3][ly4])>=3) {
00175           track3lBR[i]++;
00176           break;
00177         }
00178       }
00179     }
00180   }
00181   
00182   //find tracks in endcaps
00183   for(int i=0; i<4; i++) 
00184   {
00185     trackEE[i] = 0;
00186     trackWE[i] = 0;
00187     track3lEE[i] = 0;
00188     track3lWE[i] = 0; 
00189     for(unsigned int j=0; j<vindexe.size(); j++)
00190     {
00191       int ly1,ly2,ly3,ly4;
00192       ly1 = vindexe[j][0];
00193       ly2 = vindexe[j][1]-10;
00194       ly3 = vindexe[j][2]-20;
00195       ly4 = vindexe[j][3]-30;
00196       //for east endcap
00197       if((foEC[0][i][0][ly1]+foEC[0][i][1][ly2]+foEC[0][i][2][ly3]+foEC[0][i][3][ly4])>=3) { 
00198         trackEE[i]++; 
00199         break; 
00200       }
00201       if(foEC[0][i][0][ly1]==1&&foEC[0][i][2][ly3]==1) { trackEE[i]++; break; }
00202       if(foEC[0][i][1][ly2]==1&&foEC[0][i][3][ly4]==1) { trackEE[i]++; break; }
00203     }
00204 
00205     for(unsigned int j=0; j<vindexe.size(); j++)
00206     {
00207       int ly1,ly2,ly3,ly4;
00208       ly1 = vindexe[j][0];
00209       ly2 = vindexe[j][1]-10;
00210       ly3 = vindexe[j][2]-20;
00211       ly4 = vindexe[j][3]-30;
00212       //for west endcap
00213       if((foEC[1][i][0][ly1]+foEC[1][i][1][ly2]+foEC[1][i][2][ly3]+foEC[1][i][3][ly4])>=3) { 
00214         trackWE[i]++;
00215         break; 
00216       }
00217       if(foEC[1][i][0][ly1]==1&&foEC[1][i][2][ly3]==1) { trackWE[i]++; break; }
00218       if(foEC[1][i][1][ly2]==1&&foEC[1][i][3][ly4]==1) { trackWE[i]++; break; }
00219     }
00220 
00221     for(unsigned int j=0; j<vindexe.size(); j++)
00222     {
00223       int ly1,ly2,ly3,ly4;
00224       ly1 = vindexe[j][0];
00225       ly2 = vindexe[j][1]-10;
00226       ly3 = vindexe[j][2]-20;
00227       ly4 = vindexe[j][3]-30;
00228       //for east endcap
00229       if((foEC[0][i][0][ly1]+foEC[0][i][1][ly2]+foEC[0][i][2][ly3]+foEC[0][i][3][ly4])>=3) {
00230         track3lEE[i]++;
00231         break;
00232       }
00233     }
00234     for(unsigned int j=0; j<vindexe.size(); j++)
00235     {
00236       int ly1,ly2,ly3,ly4;
00237       ly1 = vindexe[j][0];
00238       ly2 = vindexe[j][1]-10;
00239       ly3 = vindexe[j][2]-20;
00240       ly4 = vindexe[j][3]-30;
00241       //for west endcap
00242       if((foEC[1][i][0][ly1]+foEC[1][i][1][ly2]+foEC[1][i][2][ly3]+foEC[1][i][3][ly4])>=3) {
00243         track3lWE[i]++;
00244         break;
00245       }
00246     } 
00247   }
00248 
00249   //count the tracks in barrel and endcaps
00250   btrack = 0;
00251   etrack = 0;
00252   int b3ltrack = 0, e3ltrack = 0;
00253   for(int i=0; i<8; i++)  { btrack = btrack + trackBR[i]; b3ltrack = b3ltrack + track3lBR[i]; }
00254   for(int i=0; i<4; i++)  { etrack = etrack + trackEE[i] + trackWE[i]; e3ltrack = e3ltrack + track3lWE[i] + track3lEE[i]; }
00255 
00256   //cosmic ray experiment, MUC trigger, 3v7 or 4v8; Or use 3v7 only; Note: use 3/4 logic in both cases
00257   bool mucBB3478 = false, mucBB37 = false;
00258   if((track3lBR[2] > 0 && track3lBR[6] > 0) || (track3lBR[3] > 0 && track3lBR[7] > 0)) mucBB3478 = true;
00259   if(track3lBR[2] > 0 && track3lBR[6] > 0) mucBB37 = true;
00260    
00261 
00262   //set muc trigger conditions
00263   m_pIBGT->setMucBB3478(mucBB3478);
00264   m_pIBGT->setMucBB37(mucBB37);
00265 
00266   //set value in service
00267   m_pIBGT->setMucNtrackBR(btrack);
00268   m_pIBGT->setMucNtrackEC(etrack);
00269   m_pIBGT->setMucN3ltrackTotal(b3ltrack+e3ltrack);
00270 }

std::vector<int> BesMucTrig::getNhitLayer  ) 
 

std::vector< int > BesMucTrig::getNhitLayer  ) 
 

00340 {
00341   vhitLayer.clear();
00342 
00343   for(int i=0; i<8; i++)
00344     for(int j=0; j<4; j++)
00345     {
00346       if(nhitLayerBR[i][j] != 0) {
00347         //1000: barrel, i*100: ith segment, j*10: jth gap, nhitLayerBR[i][j]: the number of hits
00348         int hit  = 1000 + i*100 + j*10 + nhitLayerBR[i][j]; 
00349         vhitLayer.push_back(hit);
00350       }
00351     }
00352 
00353   for(int i=0; i<2; i++)
00354     for(int j=0; j<4; j++)
00355       for(int k=0; k<4; k++)
00356       {
00357         if(nhitLayerEC[i][j][k] != 0) {
00358           int hit;
00359           //0: east endcaps, j*100: jth segment, k*10: kth gap, nhitLayerEC[i][j][k]: the number of hits
00360           if(i==0) hit = 0 + j*100 + k*10 + nhitLayerEC[i][j][k]; 
00361           //2000: west endcap, j*100: jth segment, k*10: kth gap, nhitLayerEC[i][j][k]: the number of hits
00362           else hit = 2000 + j*100 + k*10 + nhitLayerEC[i][j][k];
00363           vhitLayer.push_back(hit);
00364         }
00365       }
00366   return vhitLayer;
00367 }

int BesMucTrig::getNhitPart int  i  ) 
 

int BesMucTrig::getNhitPart int  i  ) 
 

00398 { 
00399   if(i == 1) return nhitBR;
00400   if(i == 0) return nhitEC[0];
00401   if(i == 2) return nhitEC[1];
00402 
00403   return -1;
00404 }

std::vector<int> BesMucTrig::getNhitSeg  ) 
 

std::vector< int > BesMucTrig::getNhitSeg  ) 
 

00370 {
00371   vhitSeg.clear();
00372 
00373   for(int i=0; i<8; i++) 
00374   {
00375     if(nhitSegBR[i] != 0) {
00376       //1000: barrel, i*100: ith segment,tSegBR[i]: the number of hits 
00377       int hit = 1000 + i*100 + nhitSegBR[i];
00378       vhitSeg.push_back(hit);
00379     }
00380   }
00381 
00382   for(int i=0; i<2; i++)
00383     for(int j=0; j<4; j++)
00384     {
00385       if(nhitSegEC[i][j] != 0) {
00386         int hit;
00387         //0: east endcaps, j*100: jth segment, nhitSegEC[i][j]: the number of hits
00388         if(i==0) hit = 0 + j*100 + nhitSegEC[i][j];
00389         //2000: west endcap, j*100: jth segment, nhitSegEC[i][j]: the number of hits
00390         else hit = 2000 + j*100 + nhitSegEC[i][j];
00391         vhitSeg.push_back(hit);
00392       }
00393     }
00394   return vhitSeg;
00395 }

int BesMucTrig::getNhitTotal  ) 
 

int BesMucTrig::getNhitTotal  ) 
 

00407 {
00408   int total = nhitBR + nhitEC[0] + nhitEC[1];
00409   return total;
00410 }

int BesMucTrig::getNlayerPart int  part  ) 
 

int BesMucTrig::getNlayerPart int  part  ) 
 

00311 {
00312   int nLayerBR = 0, nLayerWE = 0, nLayerEE = 0;
00313   //count the barrel fired layer number
00314   for(int i=0; i<8; i++)
00315     for(int j=0; j<4; j++)
00316     {
00317       if(nfireLayerBR[i][j] == 1) {
00318         nLayerBR++;
00319       }
00320     }
00321    //count each endcap fired layer number
00322    for(int i=0; i<2; i++)
00323     for(int j=0; j<4; j++)
00324       for(int k=0; k<4; k++)
00325       {
00326         if(nfireLayerEC[i][j][k] == 1) {
00327           if(i==0) nLayerEE++;
00328           if(i==1) nLayerWE++;
00329         }
00330       }
00331 
00332   if(part == 0) return nLayerEE;
00333   if(part == 1) return nLayerBR;
00334   if(part == 2) return nLayerWE;
00335 
00336   return -1;
00337 }

std::vector<int> BesMucTrig::getNlayerSeg  ) 
 

std::vector< int > BesMucTrig::getNlayerSeg  ) 
 

00273 {
00274   vfireLayer.clear();
00275 
00276   for(int i=0; i<8; i++)
00277   {
00278     int nlayer = 0;
00279     for(int j=0; j<4; j++)
00280     {
00281       if(nfireLayerBR[i][j] == 1) {
00282         nlayer++;
00283       }
00284     }
00285     if(nlayer != 0) {
00286       nlayer = 100 + i*10 + nlayer; //100: part(barrel), i*10: segment
00287       vfireLayer.push_back(nlayer);
00288     }
00289   }
00290   
00291   for(int i=0; i<2; i++)
00292     for(int j=0; j<4; j++)
00293     {
00294       int nlayer = 0;
00295       for(int k=0; k<4; k++)
00296       {
00297         if(nfireLayerEC[i][j][k] == 1) {
00298           nlayer++;
00299         }
00300       }
00301       if(nlayer != 0) {
00302         if(i==0) nlayer = 0 + j*10 + nlayer; //0: east endcaps, j*10: jth segment
00303         else nlayer = 200 + j*10 + nlayer; //200: west endcap, j*10: jth segment
00304         vfireLayer.push_back(nlayer); 
00305       }
00306     } 
00307   return vfireLayer;
00308 }

void BesMucTrig::readIndex  ) 
 

void BesMucTrig::readIndex  ) 
 

00418 {
00419   fstream infile1;
00420   fstream infile2;
00421   fstream infile3;
00422 
00423   vindexb.clear();
00424   vindexb3.clear();
00425   vindexe.clear();
00426 
00427   std::string filename = std::string(getenv( "TRIGGERROOT" ));
00428   std::string filename1 = filename + "/data/mufield0.5_1.5GeV_cos0.76_phi456thseg_index_select.txt";
00429   std::string filename2 = filename + "/data/mufield0.5_1.5GeV_cos0.76_phi234thseg_index_select.txt";
00430   std::string filename3 = filename + "/data/mufield0.5_1.5GeV_ee2_index_select.txt";
00431   infile1.open(filename1.c_str(), ios_base::in);
00432   infile2.open(filename2.c_str(), ios_base::in);
00433   infile3.open(filename3.c_str(), ios_base::in);
00434 
00435   char line[255];
00436   char* token;
00437   std::string str;
00438  
00439   if(!infile1) cout<<"open file1 failture"<<endl;
00440   while(infile1) {
00441     infile1.getline( line, 255 );
00442     token = strtok( line, " " );
00443     int num = 0; 
00444     std::vector<int> tmp;
00445     tmp.clear();
00446     do{
00447       if(token) {
00448         str = token;
00449         token = strtok(NULL," ");
00450         int Index = atoi(str.c_str());
00451         if(num != 0) tmp.push_back(Index);
00452         num++;
00453       }
00454       else continue;
00455     }while (token!=NULL);
00456     if(tmp.size() == 4) vindexb.push_back(tmp);
00457   }
00458   cout<<"total "<<vindexb.size()<<" index in barrel have been read!"<<endl;
00459   
00460 
00461   if(!infile2) cout<<"open file2 failture"<<endl;
00462   while(infile2) {
00463     infile2.getline( line, 255 );
00464     token = strtok( line, " " );
00465     int num = 0; 
00466     std::vector<int> tmp;
00467     tmp.clear();
00468     do{
00469       if(token) {
00470         str = token;
00471         token = strtok(NULL," ");
00472         int Index = atoi(str.c_str());
00473         if(num != 0) tmp.push_back(Index);
00474         num++;
00475       }
00476       else continue;
00477     }while (token!=NULL);
00478     if(tmp.size() == 4) vindexb3.push_back(tmp);
00479   }
00480   cout<<"total "<<vindexb3.size()<<" index in barrel 3 have been read!"<<endl; 
00481 
00482   if(!infile3) cout<<"open file3 failture"<<endl;
00483   while(infile3) {
00484     infile3.getline( line, 255 );
00485     token = strtok( line, " " );
00486     int num = 0; 
00487     std::vector<int> tmp;
00488     tmp.clear();
00489     do{
00490       if(token) {
00491         str = token;
00492         token = strtok(NULL," ");
00493         int Index = atoi(str.c_str());
00494         if(num != 0) tmp.push_back(Index);
00495         num++;
00496       }
00497       else continue;
00498     }while (token!=NULL);
00499     if(tmp.size() == 4) vindexe.push_back(tmp);
00500   }
00501   cout<<"total "<<vindexe.size()<<" index in endcap have been read!"<<endl;
00502   
00503   infile1.close();
00504   infile2.close();
00505   infile3.close();
00506 }

void BesMucTrig::setIndex  ) 
 

void BesMucTrig::setIndex  ) 
 

00413 {
00414   m_pIBGT->setMucIndex(vIndex);
00415 }

void BesMucTrig::startMucTrig  ) 
 

void BesMucTrig::startMucTrig  ) 
 

00043 {
00044   //reset values
00045   for(int i=0; i<8; i++)
00046   { 
00047     nhitSegBR[i] = 0; 
00048     for(int j=0; j<4; j++)
00049     {
00050       nfireLayerBR[i][j] = 0;
00051       nhitLayerBR[i][j] = 0;
00052     }
00053   }
00054   nhitBR = 0;
00055 
00056   for(int i=0; i<2; i++)
00057   {
00058     nhitEC[i] = 0;
00059     for(int j=0; j<4; j++)
00060     {
00061       nhitSegEC[i][j] = 0;
00062       for(int k=0; k<4; k++)
00063       {
00064         nfireLayerEC[i][j][k] = 0;
00065         nhitLayerEC[i][j][k] = 0;
00066       }
00067     }
00068   }
00069 
00070   vIndex.clear();
00071 
00072   m_MucTrigHit->getFastOr(); //run fastOr algorithm
00073 
00074   //reset values and get fastOr signal from class MucTrigHit
00075   for(int i=0; i<8; i++)
00076     for(int j=0; j<4; j++)
00077       for(int k=0; k<7; k++)
00078         {
00079           foBR[i][j][k] = 0;
00080           foBR[i][j][k] = m_MucTrigHit->getfoBR(i, j, k);
00081           if(foBR[i][j][k] == 1) {
00082             nfireLayerBR[i][j] = 1; //fired layer Id of barrel
00083             nhitLayerBR[i][j]+=1; //Hit number in each layer of barrel 
00084             nhitSegBR[i]+=1; //hit number in each segment of barrel 
00085             nhitBR+=1;  //hit number in barrel
00086             //1000: barrel, i*100: segment, j*10: gap, k: strip
00087             int index = 1000 + i*100 + j*10 + k;
00088             vIndex.push_back(index);
00089           }
00090         }
00091 
00092   for(int i=0; i<2; i++)
00093     for(int j=0; j<4; j++)
00094       for(int k=0; k<4; k++)
00095         for(int l=0; l<4; l++)
00096         {
00097           foEC[i][j][k][l] = 0; 
00098           foEC[i][j][k][l] = m_MucTrigHit->getfoEC(i, j, k, l);
00099           if(foEC[i][j][k][l]==1) {
00100             nfireLayerEC[i][j][k] = 1; //fired layer Id of endcaps
00101             nhitLayerEC[i][j][k]+=1; //hit number in each layer of endcaps
00102             nhitSegEC[i][j]+=1; //hit number in each segment of endcaps
00103             nhitEC[i]+=1; //hit number in endcaps
00104             int index;
00105             //0: east endcap, 2000: west endcap, j*100: segment, k*10: gap, l: strip
00106             if(i==0) index = 0 + j*100 + k*10 + l;
00107             if(i==1) index = 2000 + j*100 + k*10 +l;
00108             vIndex.push_back(index);
00109           }
00110         }
00111 
00112   setIndex();
00113   findTrack();
00114 }


Member Data Documentation

int BesMucTrig::btrack [private]
 

int BesMucTrig::etrack [private]
 

int BesMucTrig::foBR [private]
 

int BesMucTrig::foEC [private]
 

MucTrigHit* BesMucTrig::m_MucTrigHit [private]
 

MucTrigHit* BesMucTrig::m_MucTrigHit [private]
 

BesGlobalTrigSvc* BesMucTrig::m_pIBGT [private]
 

BesGlobalTrigSvc* BesMucTrig::m_pIBGT [private]
 

IBesGlobalTrigSvc* BesMucTrig::m_tmpSvc [private]
 

IBesGlobalTrigSvc* BesMucTrig::m_tmpSvc [private]
 

int BesMucTrig::nfireLayerBR [private]
 

int BesMucTrig::nfireLayerEC [private]
 

int BesMucTrig::nhitBR [private]
 

int BesMucTrig::nhitEC [private]
 

int BesMucTrig::nhitLayerBR [private]
 

int BesMucTrig::nhitLayerEC [private]
 

int BesMucTrig::nhitSegBR [private]
 

int BesMucTrig::nhitSegEC [private]
 

int BesMucTrig::track3lBR [private]
 

int BesMucTrig::track3lEE [private]
 

int BesMucTrig::track3lWE [private]
 

int BesMucTrig::trackBR [private]
 

int BesMucTrig::trackEE [private]
 

int BesMucTrig::trackWE [private]
 

std::vector<int> BesMucTrig::vfireLayer [private]
 

std::vector<int> BesMucTrig::vfireLayer [private]
 

std::vector<int> BesMucTrig::vhitLayer [private]
 

std::vector<int> BesMucTrig::vhitLayer [private]
 

std::vector<int> BesMucTrig::vhitSeg [private]
 

std::vector<int> BesMucTrig::vhitSeg [private]
 

std::vector<int> BesMucTrig::vIndex [private]
 

std::vector<int> BesMucTrig::vIndex [private]
 

std::vector<std::vector<int> > BesMucTrig::vindexb [private]
 

std::vector<std::vector<int> > BesMucTrig::vindexb [private]
 

std::vector<std::vector<int> > BesMucTrig::vindexb3 [private]
 

std::vector<std::vector<int> > BesMucTrig::vindexb3 [private]
 

std::vector<std::vector<int> > BesMucTrig::vindexe [private]
 

std::vector<std::vector<int> > BesMucTrig::vindexe [private]
 


The documentation for this class was generated from the following files:
Generated on Wed Feb 2 15:53:00 2011 for BOSS6.5.5 by  doxygen 1.3.9.1