int main(){ ScintillatorPlane *s1 = new ScintillatorPlane(2,8,-105.,false,"TopPlane"); ScintillatorPlane *s2 = new ScintillatorPlane(2,8,105.,false,"BottomPlane"); RPC *rpc1 = new RPC(2,32,"FirstRpc",-75.); RPC *rpc2 = new RPC(3,32,"SecondRpc",-45.); RPC *rpc3 = new RPC(4,32,"ThirdRpc",-15.); RPC *rpc4 = new RPC(5, 32, "ThirdRpc", 15.); RPC *rpc5 = new RPC(6, 32, "SecondRpc", 45.); RPC *rpc6 = new RPC(7, 32, "FirstRpc", 75.); //std::cout<<"Name : "<< s1->GetName(); SetupManager s; s.RegisterScintillatorPlane(s1); s.RegisterScintillatorPlane(s2); s.RegisterRpc(rpc1); // s.RegisterRpc(rpc2); // s.RegisterRpc(rpc3); // s.RegisterRpc(rpc4); // s.RegisterRpc(rpc5); // s.RegisterRpc(rpc6); // s.Register<ScintillatorPlane,false>(s1); // s.Register<ScintillatorPlane,false>(s2); // s.Register<RPC,true>(rpc1); // s.Register<RPC,true>(rpc2); // s.Register(rpc3); // s.Register(rpc4); // s.Register(rpc5); // s.Register(rpc6); //s.GetComponentsName(); //std::cout<<"SetupManager Size : "<< s.GetSize() << std::endl; s.GetComponentsName(); s.PrintStrips(); }
int main(int argc , char *argv[]){ std::string temp_str = std::to_string(atoi(argv[1])); temp_str += ".root"; Tracking::Tree::instance()->ReadTree(temp_str.c_str(), "BSC_DATA_TREE", 0); Detector *rpc1 = new GlassRpc(2,"MT-1",60,31); Detector *rpc2 = new GlassRpc(4,"MT-2",-60,31); SetupManager *setup = Tomography::SetupManager::instance(); setup->Register(rpc1); setup->Register(rpc2); std::cout<<"Size : "<< setup->GetDetectorVector("GLASS").size() << std::endl; std::vector<Detector*> detVect = setup->GetDetectorVector("GLASS"); #if 0 for(int k = 0 ; k < detVect.size() ; k++){ std::cout<< detVect[k]->GetName() << std::endl; std::cout<< detVect[k]->GetNumOfPlanes() << std::endl; std::cout<< detVect[k]->GetTotalNumOfChannels() << std::endl; std::vector<ScintillatorPlane*> planeVect = detVect[k]->GetScintillatorPlaneVector(); for(int i = 0 ; i < detVect[k]->GetNumOfPlanes() ; i++){ std::cout<<"Plane : " << i << " : " << planeVect[i]->GetNumOfScintillators() << std::endl; int numOfStrips = planeVect[i]->GetNumOfScintillators(); std::vector<Scintillator*> scintVector = planeVect[i]->GetScintVector(); for(int j = 0 ; j < numOfStrips ; j++){ std::cout<<"StripName : "<< scintVector[j]->GetName() << std::endl; } } } #endif Tomography::ScintillatorPlane::SetClusterSize(1); for(int evNo= 19 ;evNo <20; evNo++){ std::cout<<"--------------------Event No : " << evNo << " ---------------------------------"<<std::endl; setup->SetEventDetected("GLASS",evNo); std::cout<<"Event Detected : "<< setup->EventDetected() << std::endl; for(int j = 0 ; j < detVect.size() ; j++){ for(int i = 0 ; i < detVect[j]->GetNumOfPlanes() ; i++){ std::cout<< "Plane num : "<< i <<" : "<< detVect[j]->GetPlane(i)->GetFiredStripsVector().size() << std::endl; std::vector<Scintillator*> scintVector = detVect[j]->GetPlane(i)->GetScintVector(); std::vector<int> stripVect = detVect[j]->GetPlane(i)->GetFiredStripsVector(); int stripVectorSize = stripVect.size(); for(int k = 0 ; k < stripVectorSize ; k++){ std::cout<<"strip no : "<< stripVect[k] << " : Value : " << scintVector[stripVect[k]]->GetValue() << std::endl; } } } } return 0; }
int main(int argc, char *argv[]){ std::string temp_str = std::to_string(atoi(argv[1])); temp_str += ".root"; Tracking::Tree::instance()->ReadTree(temp_str.c_str(), "BSC_DATA_TREE", 0); SetupManager *setup = SetupManager::instance(); Detector *MT1=new GlassRpc(2,"MT1",-75,31); Detector *MT2=new GlassRpc(4,"MT2",45,31); Detector *TopScint=new TriggeringPlane(2,"TopScint",105,-1); Detector *BottomScint=new TriggeringPlane(2,"BottomScint",-105,7); int k; int topcount=0, bottomcount=0; int numerator=0, denominator=0; bool shower,rpcFired; int NumberOfStripsFired; setup->Register(MT1); setup->Register(MT2); setup->Register(TopScint); setup->Register(BottomScint); std::vector<Detector*> detVect=setup->GetDetectorVector("GLASS"); int showercount=0; int ClusterSize[4]; std::vector<Detector*> trgVect=setup->GetDetectorVector("TRG"); int numOfEvents = Tracking::Tree::instance()->GetNumOfEvents(); for(int evNo=0;evNo<numOfEvents;++evNo) { // std::cout<<"======================= Event no. : "<<evNo<<"===================="<<std::endl; setup->SetEventDetected("TRG",evNo); shower=false; //Printing events with Multihit for(int i=0;i<trgVect.size();++i) { for(int j=0;j<trgVect[i]->GetNumOfPlanes();++j) { for (int k = 0; k < trgVect[i]->GetPlane(j)->GetNumOfScintillators(); k++) { std::string bName = trgVect[i]->GetPlane(j)->GetScintVector()[k]->GetName(); Channel *ch = Tracking::Tree::instance()->GetEntry(bName, evNo); if(ch->size()>1){ std::cout <<"Event No : "<< evNo << " : Branch Name : " << bName << " : Multihit VectorSize : " << ch->size() << " Values : "; //<<std::endl; for (int l = 0; l < ch->size(); l++) { std::cout << ch->at(l) << ", "; } std::cout << std::endl; } } } } } std::cout<<"================================ Mulitihit Printing Done ==========================" << std::endl; int count = 0 ; for(int evNo=0;evNo<numOfEvents;++evNo) { setup->SetEventDetected("TRG",evNo); for(int i=0;i<trgVect.size();++i) { for(int j=0;j<trgVect[i]->GetNumOfPlanes();++j) { bool fired = false; //NumberOfStripsFired=trgVect[i]->GetPlane(j)->GetFiredStripsVector().size(); fired = trgVect[i]->GetPlane(j)->GetFiredStripsVector().size(); //Printing if some event are there for which either of Scintillators in ScintillatorPlane NOT fired if(!fired){ count++; std::cout<<"---- For Event : " << evNo << " : TrgPlane No : "<< i << " : NOT fired " << std::endl; for(int k = 0 ; k<trgVect[i]->GetPlane(j)->GetNumOfScintillators() ; k++){ std::string bName = trgVect[i]->GetPlane(j)->GetScintVector()[k]->GetName(); Channel *ch = Tracking::Tree::instance()->GetEntry(bName,evNo); std::cout<<"Branch Name : "<< bName <<" : Multihit VectorSize : "<<ch->size()<<" Values : ";//<<std::endl; for(int l = 0 ; l < ch->size() ; l++){ std::cout<<ch->at(l)<<", "; } std::cout<<std::endl; } } } } } if(count) std::cout<<std::endl<<"***************** Something Unexpected Happening ***********************" << std::endl<<std::endl; else std::cout<<std::endl<<"---------- GR8888 , Program running as Expected --------------" << std::endl << std::endl; }