CMS 3D CMS Logo

VisTkSimTrackTwig Class Reference

#include <VisSimulation/VisSimTracker/interface/VisTkSimTrackTwig.h>

Inheritance diagram for VisTkSimTrackTwig:

VisQueuedTwig VisTrackingGeometry IgSimpleTwig VisEventObserver IgCompoundTwig IgTwig IgRepresentable

List of all members.

Public Member Functions

virtual void onNewEvent (const edm::Event &event, const edm::EventSetup &eventSetup)
virtual void update (IgRZRep *rep)
virtual void update (IgRPhiRep *rep)
virtual void update (IgTextRep *rep)
virtual void update (IgLegoRep *rep)
virtual void update (Ig3DRep *rep)
 VisTkSimTrackTwig (IgState *state, IgTwig *parent, const std::string &name="", const std::string &friendlyName="", const std::string &moduleLabel="", const std::string &instanceName="", const std::string &processName="")

Private Attributes

unsigned int m_detType
const std::string m_friendlyName
const std::string m_instanceName
const std::string m_moduleLabel
edm::ESHandle< TrackerGeometrym_pDD
const std::string m_processName
unsigned int m_subDetType
std::string m_text
std::vector< PSimHitm_trackerHits
std::vector< std::vector
< PSimHit > > 
m_trackerHitsSorted


Detailed Description

Definition at line 29 of file VisTkSimTrackTwig.h.


Constructor & Destructor Documentation

VisTkSimTrackTwig::VisTkSimTrackTwig ( IgState state,
IgTwig parent,
const std::string &  name = "",
const std::string &  friendlyName = "",
const std::string &  moduleLabel = "",
const std::string &  instanceName = "",
const std::string &  processName = "" 
)

Definition at line 75 of file VisTkSimTrackTwig.cc.

References createThisTwig(), edm::TypeID::friendlyClassName(), DBSPlugin::get(), and VisTwigFactroyService::registerTwig().

00081     : VisQueuedTwig (state, parent, name),
00082       m_text (name),
00083       m_friendlyName (friendlyName),
00084       m_moduleLabel (moduleLabel),
00085       m_instanceName (instanceName),
00086       m_processName (processName)
00087 {
00088     VisTwigFactroyService *tfService = VisTwigFactroyService::get (state);
00089     if (! tfService)
00090     {
00091         tfService = new VisTwigFactroyService (state);
00092     }   
00093     edm::TypeID simtrackID (typeid (edm::PSimHitContainer));
00094     tfService->registerTwig (simtrackID.friendlyClassName (), &createThisTwig);
00095 }


Member Function Documentation

void VisTkSimTrackTwig::onNewEvent ( const edm::Event event,
const edm::EventSetup eventSetup 
) [virtual]

Reimplemented from VisQueuedTwig.

Definition at line 98 of file VisTkSimTrackTwig.cc.

References arg, c, IgCompoundTwig::clear(), e, exception, edm::EventSetup::get(), i, edm::Event::id(), edm::ESHandle< T >::isValid(), m_friendlyName, m_instanceName, m_moduleLabel, VisQueuedTwig::m_onCmsException, VisQueuedTwig::m_onError, VisQueuedTwig::m_onException, VisQueuedTwig::m_onUnhandledException, m_pDD, m_processName, m_text, m_trackerHits, m_trackerHitsSorted, VisQueuedTwig::onBaseInvalidate(), VisQueuedTwig::onNewEvent(), python::multivaluedict::sort(), sort_TOF(), and track.

00100 {
00101     // Get debugging dump.
00102     VisQueuedTwig::onNewEvent (event, eventSetup);
00103 
00104     m_trackerHits.clear ();
00105   
00106     m_text = (QString ("Run # %1, event # %2")
00107               .arg (event.id ().run ())
00108               .arg (event.id ().event ()).latin1 ());
00109   
00110     std::vector<edm::Handle<edm::PSimHitContainer> > hitCollections;
00111   
00112     try
00113     {
00114         if ((! m_friendlyName.empty ()) || (! m_moduleLabel.empty ()) || (! m_instanceName.empty ()) || (! m_processName.empty ()))
00115         {
00116             VisEventSelector visSel (m_friendlyName, m_moduleLabel, m_instanceName, m_processName);
00117             event.getMany (visSel, hitCollections);
00118         }
00119         else
00120         {
00121             event.getManyByType (hitCollections);
00122         }
00123     }
00124     catch (cms::Exception& e)
00125     {
00126         if (this->m_onCmsException)
00127             this->m_onCmsException (&e);
00128     }
00129     catch (lat::Error &e) 
00130     {
00131         if (this->m_onError)
00132             this->m_onError (&e);
00133     }
00134     catch (std::exception &e) 
00135     {
00136         if (this->m_onException)
00137             this->m_onException (&e);
00138     }
00139     catch (...) 
00140     {
00141         if (this->m_onUnhandledException)
00142             this->m_onUnhandledException ();
00143     }
00144   
00145     if (! hitCollections.empty ())
00146     {
00147         std::vector<edm::Handle<edm::PSimHitContainer> >::iterator i;
00148         for (i = hitCollections.begin (); i != hitCollections.end (); i++) 
00149         {
00150             const edm::PSimHitContainer& c = *(*i);
00151           
00152             for (std::vector<PSimHit>::const_iterator isim = c.begin (), isimEnd = c.end ();
00153                  isim != isimEnd; ++isim)
00154             {
00155                 m_trackerHits.push_back ((*isim));
00156             }    
00157         }
00158     }
00159     try 
00160     { 
00161         eventSetup.get<TrackerDigiGeometryRecord> ().get (m_pDD);     
00162     }
00163     catch (cms::Exception& e)
00164     {
00165         if (this->m_onCmsException)
00166             this->m_onCmsException (&e);
00167     }
00168     catch (lat::Error &e) 
00169     {
00170         if (this->m_onError)
00171             this->m_onError (&e);
00172     }
00173     catch (std::exception &e) 
00174     {
00175         if (this->m_onException)
00176             this->m_onException (&e);
00177     }
00178     catch (...) 
00179     {
00180         if (this->m_onUnhandledException)
00181             this->m_onUnhandledException ();
00182     }
00183 
00184     if (! m_trackerHits.empty () && m_pDD.isValid ())
00185     {
00186         try 
00187         {         
00188             m_trackerHitsSorted.clear ();
00189             unsigned int maxid = 0;
00190             //get number of tracks track 65535 (FFFF) is exluded. I suppose it is no real track.
00191             for (std::vector<PSimHit>::iterator isim = m_trackerHits.begin (), isimEnd = m_trackerHits.end (); 
00192                  isim != isimEnd; ++isim)
00193             {
00194                 if ((maxid < (*isim).trackId ()) && ((*isim).trackId () < 65535)) maxid = (*isim).trackId ();
00195             }
00196 
00197             //array of vector  is assigned and initialized
00198             std::vector<PSimHit> *m_trackerHitsUnsorted = new std::vector<PSimHit> [maxid + 2];
00199             maxid += 2;
00200             
00201             for (unsigned int i = 0; i < maxid; ++i)
00202             {
00203                 (m_trackerHitsUnsorted [i]).clear ();
00204             }
00205 
00206             //filling of array 
00207 
00208             for (std::vector<PSimHit>::iterator isim = m_trackerHits.begin (), isimEnd = m_trackerHits.end (); 
00209                  isim != isimEnd; ++isim)
00210             {
00211                 if ((*isim).trackId () == 65535)
00212                 {
00213                     (m_trackerHitsUnsorted [0]).push_back (*isim);
00214                 }
00215                 else 
00216                 {
00217                     (m_trackerHitsUnsorted[((*isim).trackId ()) + 1]).push_back (*isim);
00218                 }             
00219             }
00220 
00221             //copying data into theTrackerHitsSorted and deleting theTrackerHitsUnsorted
00222             for (unsigned int i = 0; i < maxid; ++i) 
00223                 m_trackerHitsSorted.push_back (m_trackerHitsUnsorted [i]);
00224             delete [] m_trackerHitsUnsorted;
00225             // calling theTrackerHitsSorted[i][j] gives Event j of TrackID i-1 
00226  
00227             //Every Track should be sorted by ToF and IDs which do not exist shoul dbe removed
00228             for (std::vector<std::vector<PSimHit> >::iterator track = m_trackerHitsSorted.begin (), 
00229                                                    trackEnd = m_trackerHitsSorted.end (); 
00230                  track != trackEnd; ++track)
00231             {
00232                 unsigned int length = (*track).size ();
00233                 if (length == 0)
00234                 {
00235                     m_trackerHitsSorted.erase (track); // Remove all elements. 
00236                     track--;
00237                     continue;
00238                 }
00239 
00240                 unsigned int id = ((*track) [0]).trackId ();
00241                 if (id == 65535) continue;
00242                 std::sort ((*track).begin (), (*track).end (), sort_TOF);
00243             }
00244         }
00245         catch (cms::Exception& e)
00246         {
00247             if (this->m_onCmsException)
00248                 this->m_onCmsException (&e);
00249         }
00250         catch (lat::Error &e) 
00251         {
00252             if (this->m_onError)
00253                 this->m_onError (&e);
00254         }
00255         catch (std::exception &e) 
00256         {
00257             if (this->m_onException)
00258                 this->m_onException (&e);
00259         }
00260         catch (...) 
00261         {
00262             if (this->m_onUnhandledException)
00263                 this->m_onUnhandledException ();
00264         }
00265     }
00266 
00267     VisQueuedTwig::onBaseInvalidate ();
00268 }

void VisTkSimTrackTwig::update ( IgRZRep rep  )  [virtual]

Reimplemented from VisQueuedTwig.

Definition at line 532 of file VisTkSimTrackTwig.cc.

References Ig3DBaseRep::clear(), IgSoSimpleTrajectory::controlPoints, e, exception, SurfaceOrientation::inner, edm::ESHandle< T >::isValid(), VisQueuedTwig::m_onCmsException, VisQueuedTwig::m_onError, VisQueuedTwig::m_onException, VisQueuedTwig::m_onUnhandledException, m_pDD, m_trackerHits, m_trackerHitsSorted, IgSoSimpleTrajectory::markerPoints, Ig3DBaseRep::node(), track, VisQueuedTwig::update(), PV3DBase< T, PVType, FrameType >::x(), x, PV3DBase< T, PVType, FrameType >::y(), y, PV3DBase< T, PVType, FrameType >::z(), and z.

00533 {
00534     // Get debugging dump.
00535     VisQueuedTwig::update (rep);
00536     IgQtLock ();
00537     rep->clear ();
00538     if (! m_trackerHits.empty () && m_pDD.isValid ())
00539     {
00540         SoSeparator *sep = new SoSeparator; // global
00541         SoMaterial *mat = new SoMaterial;
00542         mat->diffuseColor.setValue (1.0, 1.0, 0.0);
00543         sep->addChild (mat);
00544         try 
00545         {
00546             for (std::vector<std::vector<PSimHit> >::iterator track = m_trackerHitsSorted.begin (),
00547                                                            trackEnd = m_trackerHitsSorted.end (); 
00548                  track != trackEnd; ++track)
00549             {
00550                 unsigned int id = ((*track) [0]).trackId ();
00551                 if (id == 65535) continue;
00552                 IgSoSimpleTrajectory *simulatedTrack = new IgSoSimpleTrajectory;
00553                 int nSimHit = 0;
00554                 for (std::vector<PSimHit>::iterator jsim = (*track).begin (),
00555                                                  jsimEnd = (*track).end (); 
00556                      jsim != jsimEnd; ++jsim)
00557                 {
00558                     GlobalPoint inner = m_pDD->idToDet (DetId ((*jsim).detUnitId ()))->surface ().toGlobal ((*jsim).localPosition ()); 
00559                     float x = inner.x () / 100;
00560                     float y = inner.y () / 100;
00561                     float z = inner.z () / 100;
00562                     simulatedTrack->controlPoints.set1Value (nSimHit, (SbVec3f (x, y, z)));
00563                     simulatedTrack->markerPoints.set1Value (nSimHit, (SbVec3f (x, y, z)));            
00564                     ++nSimHit;
00565                 }
00566                 sep->addChild (simulatedTrack);
00567                 //if (id>30) break;;
00568                 //delete simulatedTrack;
00569             }
00570         }
00571         catch (cms::Exception& e)
00572         {
00573             if (this->m_onCmsException)
00574                 this->m_onCmsException (&e);
00575         }
00576         catch (lat::Error &e) 
00577         {
00578             if (this->m_onError)
00579                 this->m_onError (&e);
00580         }
00581         catch (std::exception &e) 
00582         {
00583             if (this->m_onException)
00584                 this->m_onException (&e);
00585         }
00586         catch (...) 
00587         {
00588             if (this->m_onUnhandledException)
00589                 this->m_onUnhandledException ();
00590         }
00591         rep->node ()->addChild (sep);
00592     }
00593 }

void VisTkSimTrackTwig::update ( IgRPhiRep rep  )  [virtual]

Reimplemented from VisQueuedTwig.

Definition at line 468 of file VisTkSimTrackTwig.cc.

References Ig3DBaseRep::clear(), IgSoSimpleTrajectory::controlPoints, e, exception, SurfaceOrientation::inner, edm::ESHandle< T >::isValid(), VisQueuedTwig::m_onCmsException, VisQueuedTwig::m_onError, VisQueuedTwig::m_onException, VisQueuedTwig::m_onUnhandledException, m_pDD, m_trackerHits, m_trackerHitsSorted, IgSoSimpleTrajectory::markerPoints, Ig3DBaseRep::node(), track, VisQueuedTwig::update(), PV3DBase< T, PVType, FrameType >::x(), x, PV3DBase< T, PVType, FrameType >::y(), y, PV3DBase< T, PVType, FrameType >::z(), and z.

00469 {
00470     // Get debugging dump.
00471     VisQueuedTwig::update (rep);
00472     IgQtLock ();
00473     rep->clear ();
00474 
00475     if (! m_trackerHits.empty () && m_pDD.isValid ())
00476     {
00477         SoSeparator *sep = new SoSeparator; // global
00478         SoMaterial *mat = new SoMaterial;
00479         mat->diffuseColor.setValue (1.0, 1.0, 0.0);
00480         sep->addChild (mat);
00481         try 
00482         {
00483             for (std::vector<std::vector<PSimHit> >::iterator track = m_trackerHitsSorted.begin (),
00484                                                            trackEnd = m_trackerHitsSorted.end (); 
00485                  track != trackEnd; ++track)
00486             {
00487                 unsigned int id = ((*track) [0]).trackId ();
00488                 if (id == 65535) continue;
00489                 IgSoSimpleTrajectory *simulatedTrack = new IgSoSimpleTrajectory;
00490                 int nSimHit = 0;
00491                 for (std::vector<PSimHit>::iterator jsim = (*track).begin (), jsimEnd = (*track).end (); 
00492                      jsim != jsimEnd; ++jsim)
00493                 {
00494                     GlobalPoint inner = m_pDD->idToDet (DetId ((*jsim).detUnitId ()))->surface ().toGlobal ((*jsim).localPosition ()); 
00495                     float x = inner.x () / 100;
00496                     float y = inner.y () / 100;
00497                     float z = inner.z () / 100;
00498                     simulatedTrack->controlPoints.set1Value (nSimHit, (SbVec3f (x, y, z)));
00499                     simulatedTrack->markerPoints.set1Value (nSimHit, (SbVec3f (x, y, z)));            
00500                     ++nSimHit;
00501                 }
00502                 sep->addChild (simulatedTrack);
00503                 //if (id>30) break;;
00504                 //delete simulatedTrack;
00505             }
00506         }
00507         catch (cms::Exception& e)
00508         {
00509             if (this->m_onCmsException)
00510                 this->m_onCmsException (&e);
00511         }
00512         catch (lat::Error &e) 
00513         {
00514             if (this->m_onError)
00515                 this->m_onError (&e);
00516         }
00517         catch (std::exception &e) 
00518         {
00519             if (this->m_onException)
00520                 this->m_onException (&e);
00521         }
00522         catch (...) 
00523         {
00524             if (this->m_onUnhandledException)
00525                 this->m_onUnhandledException ();
00526         }
00527         rep->node ()->addChild (sep);
00528     }
00529 }

void VisTkSimTrackTwig::update ( IgTextRep rep  )  [virtual]

Reimplemented from VisQueuedTwig.

Definition at line 271 of file VisTkSimTrackTwig.cc.

References e, exception, edm::ESHandle< T >::isValid(), VisQueuedTwig::m_onCmsException, VisQueuedTwig::m_onError, VisQueuedTwig::m_onException, VisQueuedTwig::m_onUnhandledException, m_pDD, m_text, m_trackerHits, m_trackerHitsSorted, IgTextRep::setText(), and VisQueuedTwig::update().

00272 {
00273     // Get debugging dump.
00274     VisQueuedTwig::update (rep);
00275     // Prepare property description.
00276     std::ostringstream  text;
00277     text << "Total " << m_trackerHitsSorted.size () << " Tracker SimTracks from";
00278     if (m_trackerHitsSorted.size () > 1000) 
00279     {
00280         text << " input file: printing only first 1000 " << "<br>"; 
00281     }
00282     else 
00283     {
00284         text << " input file: " << m_text << "<br>";
00285     }
00286 
00287     text << "<table width='100%' border=1>"
00288          << "<TR align = center>"
00289          << "<TH>TrackID</TH>"
00290          << "<TH>NumberSimHits</TH>"
00291          << "</TR>";
00292     text << setiosflags (std::ios::showpoint | std::ios::fixed);
00293     text.setf (std::ios::right, std::ios::adjustfield);
00294 
00295     if (! m_trackerHits.empty () && m_pDD.isValid ()) 
00296     {
00297         int nSimtracks = 0;
00298         try 
00299         {
00300             for (std::vector<std::vector<PSimHit> >::iterator isim = m_trackerHitsSorted.begin (), 
00301                                                            isimEnd = m_trackerHitsSorted.end (); 
00302                  isim != isimEnd; ++isim)
00303             {
00304                 unsigned int length = (*isim).size ();
00305                 unsigned int id = ((*isim) [0]).trackId ();
00306         
00307                 text << "<TR align = right>"
00308                      << "<TD>" << id << "</TD>"
00309                      << "<TD>" << length << "</TD>";
00310                 ++nSimtracks;
00311 
00312                 if (nSimtracks > 1000) break;
00313             }
00314         }
00315         catch (cms::Exception& e)
00316         {
00317             if (this->m_onCmsException)
00318                 this->m_onCmsException (&e);
00319         }
00320         catch (lat::Error &e) 
00321         {
00322             if (this->m_onError)
00323                 this->m_onError (&e);
00324         }
00325         catch (std::exception &e) 
00326         {
00327             if (this->m_onException)
00328                 this->m_onException (&e);
00329         }
00330         catch (...) 
00331         {
00332             if (this->m_onUnhandledException)
00333                 this->m_onUnhandledException ();
00334         }
00335     }
00336     text << "</table>";
00337     
00338     // Send it over.
00339     IgQtLock ();
00340     rep->setText (text.str ());
00341 }

void VisTkSimTrackTwig::update ( IgLegoRep rep  )  [virtual]

Reimplemented from VisQueuedTwig.

Definition at line 407 of file VisTkSimTrackTwig.cc.

References Ig3DBaseRep::clear(), e, IgSoTower::energy, eta, PV3DBase< T, PVType, FrameType >::eta(), exception, i, iter, VisQueuedTwig::m_onCmsException, VisQueuedTwig::m_onError, VisQueuedTwig::m_onException, VisQueuedTwig::m_onUnhandledException, m_pDD, m_trackerHitsSorted, Ig3DBaseRep::node(), PV3DBase< T, PVType, FrameType >::phi(), phi, IgSoTower::position, IgSoTower::scaleFactor, and VisQueuedTwig::update().

00408 {
00409     // Get debugging dump.
00410     VisQueuedTwig::update (rep);
00411 
00412     IgQtLock ();
00413     rep->clear ();
00414     
00415     SoSeparator *sep = new SoSeparator; // global
00416     
00417     try 
00418     {
00419         for (std::vector<std::vector<PSimHit> >::const_iterator i = m_trackerHitsSorted.begin (),
00420                                                              iEnd = m_trackerHitsSorted.end (); 
00421              i != iEnd; ++i) 
00422         {
00423             if ((*(*i).begin ()).trackId () != 65535)
00424             {
00425                 for (std::vector<PSimHit>::const_iterator iter = (*i).begin (), iterEnd = (*i).end (); iter != iterEnd; ++iter) 
00426                 {
00427                     GlobalPoint SimHitPosition = m_pDD->idToDet (DetId ((*iter).detUnitId ()))->surface ().toGlobal ((*iter).localPosition ());
00428 
00429                     double eta = SimHitPosition.eta ();
00430                     double phi = SimHitPosition.phi ();
00431                     if (phi < 0.0) phi = 2 * M_PI + phi; // correction in absence of one convention
00432 
00433                     float EnergyLoss = (*iter).energyLoss(); // the energy deposit in the PSimHit, in ???
00434 
00435                     IgSoTower *tower = new IgSoTower;
00436                     tower->position = SbVec2f (phi, eta); // eta, phi
00437                     tower->scaleFactor = 20.0;
00438                     tower->energy = EnergyLoss;
00439                     sep->addChild (tower);
00440                 } 
00441             }
00442         }
00443     }
00444     catch (cms::Exception& e)
00445     {
00446         if (this->m_onCmsException)
00447             this->m_onCmsException (&e);
00448     }
00449     catch (lat::Error &e) 
00450     {
00451         if (this->m_onError)
00452             this->m_onError (&e);
00453     }
00454     catch (std::exception &e) 
00455     {
00456         if (this->m_onException)
00457             this->m_onException (&e);
00458     }
00459     catch (...) 
00460     {
00461         if (this->m_onUnhandledException)
00462             this->m_onUnhandledException ();
00463     }
00464     rep->node ()->addChild (sep);
00465 }

void VisTkSimTrackTwig::update ( Ig3DRep rep  )  [virtual]

Reimplemented from VisQueuedTwig.

Definition at line 344 of file VisTkSimTrackTwig.cc.

References Ig3DBaseRep::clear(), IgSoSimpleTrajectory::controlPoints, e, exception, SurfaceOrientation::inner, edm::ESHandle< T >::isValid(), VisQueuedTwig::m_onCmsException, VisQueuedTwig::m_onError, VisQueuedTwig::m_onException, VisQueuedTwig::m_onUnhandledException, m_pDD, m_trackerHits, m_trackerHitsSorted, IgSoSimpleTrajectory::markerPoints, Ig3DBaseRep::node(), track, VisQueuedTwig::update(), PV3DBase< T, PVType, FrameType >::x(), x, PV3DBase< T, PVType, FrameType >::y(), y, PV3DBase< T, PVType, FrameType >::z(), and z.

00345 {
00346     // Get debugging dump.
00347     VisQueuedTwig::update (rep);
00348     IgQtLock ();
00349     rep->clear ();
00350     if (! m_trackerHits.empty () && m_pDD.isValid ())
00351     {
00352         SoSeparator *sep = new SoSeparator; // global
00353         SoMaterial *mat = new SoMaterial;
00354         mat->diffuseColor.setValue (1.0, 1.0, 0.0);
00355         sep->addChild (mat);
00356         try 
00357         {
00358             for (std::vector<std::vector<PSimHit> >::iterator track = m_trackerHitsSorted.begin (),
00359                                                            trackEnd = m_trackerHitsSorted.end (); 
00360                  track != trackEnd; ++track)
00361             {
00362                 unsigned int id = ((*track) [0]).trackId ();
00363                 if (id == 65535) continue;
00364                 IgSoSimpleTrajectory *simulatedTrack = new IgSoSimpleTrajectory;
00365                 int nSimHit = 0;
00366                 for (std::vector<PSimHit>::iterator jsim = (*track).begin (), jsimEnd = (*track).end (); 
00367                      jsim != jsimEnd; ++jsim)
00368                 {
00369                     GlobalPoint inner = m_pDD->idToDet (DetId ((*jsim).detUnitId ()))->surface ().toGlobal ((*jsim).localPosition ()); 
00370                     float x = inner.x () / 100;
00371                     float y = inner.y () / 100;
00372                     float z = inner.z () / 100;
00373                     simulatedTrack->controlPoints.set1Value (nSimHit, (SbVec3f (x, y, z)));
00374                     simulatedTrack->markerPoints.set1Value (nSimHit, (SbVec3f (x, y, z)));            
00375                     ++nSimHit;
00376                 }
00377                 sep->addChild (simulatedTrack);
00378                 //if (id>30) break;;
00379                 //delete simulatedTrack;
00380             }
00381         }
00382         catch (cms::Exception& e)
00383         {
00384             if (this->m_onCmsException)
00385                 this->m_onCmsException (&e);
00386         }
00387         catch (lat::Error &e) 
00388         {
00389             if (this->m_onError)
00390                 this->m_onError (&e);
00391         }
00392         catch (std::exception &e) 
00393         {
00394             if (this->m_onException)
00395                 this->m_onException (&e);
00396         }
00397         catch (...) 
00398         {
00399             if (this->m_onUnhandledException)
00400                 this->m_onUnhandledException ();
00401         }
00402         rep->node ()->addChild (sep);
00403     }
00404 }


Member Data Documentation

unsigned int VisTkSimTrackTwig::m_detType [private]

Definition at line 57 of file VisTkSimTrackTwig.h.

const std::string VisTkSimTrackTwig::m_friendlyName [private]

Definition at line 52 of file VisTkSimTrackTwig.h.

Referenced by onNewEvent().

const std::string VisTkSimTrackTwig::m_instanceName [private]

Definition at line 54 of file VisTkSimTrackTwig.h.

Referenced by onNewEvent().

const std::string VisTkSimTrackTwig::m_moduleLabel [private]

Definition at line 53 of file VisTkSimTrackTwig.h.

Referenced by onNewEvent().

edm::ESHandle<TrackerGeometry> VisTkSimTrackTwig::m_pDD [private]

Definition at line 56 of file VisTkSimTrackTwig.h.

Referenced by onNewEvent(), and update().

const std::string VisTkSimTrackTwig::m_processName [private]

Definition at line 55 of file VisTkSimTrackTwig.h.

Referenced by onNewEvent().

unsigned int VisTkSimTrackTwig::m_subDetType [private]

Definition at line 58 of file VisTkSimTrackTwig.h.

std::string VisTkSimTrackTwig::m_text [private]

Definition at line 51 of file VisTkSimTrackTwig.h.

Referenced by onNewEvent(), and update().

std::vector<PSimHit> VisTkSimTrackTwig::m_trackerHits [private]

Definition at line 59 of file VisTkSimTrackTwig.h.

Referenced by onNewEvent(), and update().

std::vector<std::vector<PSimHit> > VisTkSimTrackTwig::m_trackerHitsSorted [private]

Definition at line 60 of file VisTkSimTrackTwig.h.

Referenced by onNewEvent(), and update().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:35:40 2009 for CMSSW by  doxygen 1.5.4