CMS 3D CMS Logo

CmsTrackerDebugNavigator.cc

Go to the documentation of this file.
00001 #include "Geometry/TrackerNumberingBuilder/interface/CmsTrackerDebugNavigator.h"
00002 #include "Geometry/TrackerNumberingBuilder/interface/GeometricDet.h"
00003 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00004 
00005 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00006 
00007 void CmsTrackerDebugNavigator::dump(const GeometricDet* in){
00008   edm::LogInfo("CmsTrackerDebugNavigator")<<" CmsTrackerDebugNavigator - Starting debug";
00009   for (int k=0; k<20; k++) numinstances[k]=0;
00010   iterate(in,0);
00011   
00012   for (int k=0; k<20; k++){
00013     edm::LogInfo("CmsTrackerDebugNavigator")<<" CmsTrackerDebugNavigator has found "<<numinstances[k]<<" GeometricDets at level "<<k;
00014   }
00015 }
00016 
00017 
00018 void CmsTrackerDebugNavigator::iterate(const GeometricDet*in, int level){
00019   static CmsTrackerStringToEnum enumName;
00020     
00021   numinstances[level]++;
00022   for (unsigned int k=0; k<(in)->components().size(); k++){
00023     std::string spaces = "";
00024     for(unsigned int i=0; (int)i<=level; i++) spaces+="  ";
00025     edm::LogInfo("CmsTrackerDebugNavigator") << level << spaces
00026                                              << "### VOLUME " << (in)->components()[k]->name().name()
00027                                              << " of type " << (in)->components()[k]->type()
00028                                              << " copy number " << (in)->components()[k]->copyno()
00029                                              << " positioned in " << (in)->name().name()
00030                                              << " global position of centre " << (in)->components()[k]->translation()
00031       //              << " rotation matrix " << (in)->components()[k]->rotation()
00032                                              << " volume = "  << (in)->components()[k]->volume()  << " cm3"
00033                                              << " density = " << (in)->components()[k]->density() << " g/cm3"
00034                                              << " weight "    << (in)->components()[k]->weight()  << " g"
00035                                              << std::endl;
00036     iterate(((in)->components())[k],level+1);
00037   }
00038   return;
00039 }

Generated on Tue Jun 9 17:37:34 2009 for CMSSW by  doxygen 1.5.4