CMS 3D CMS Logo

VisCSCCorrelatedLCTDigiTwig Class Reference

#include <VisReco/VisMuonCSC/interface/VisCSCCorrelatedLCTDigiTwig.h>

Inheritance diagram for VisCSCCorrelatedLCTDigiTwig:

VisQueuedTwig 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)
 VisCSCCorrelatedLCTDigiTwig (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

std::set< CSCDetIdm_dets
std::vector< std::pair
< CSCDetId,
CSCCorrelatedLCTDigi > > 
m_digis
const std::string m_friendlyName
const std::string m_instanceName
const std::string m_moduleLabel
edm::ESHandle< CSCGeometrym_pDD
const std::string m_processName
std::string m_text


Detailed Description

Definition at line 23 of file VisCSCCorrelatedLCTDigiTwig.h.


Constructor & Destructor Documentation

VisCSCCorrelatedLCTDigiTwig::VisCSCCorrelatedLCTDigiTwig ( 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 72 of file VisCSCCorrelatedLCTDigiTwig.cc.

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

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


Member Function Documentation

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

Reimplemented from VisQueuedTwig.

Definition at line 95 of file VisCSCCorrelatedLCTDigiTwig.cc.

References arg, c, e, exception, edm::EventSetup::get(), i, edm::Event::id(), m_digis, m_friendlyName, m_instanceName, m_moduleLabel, VisQueuedTwig::m_onCmsException, VisQueuedTwig::m_onError, VisQueuedTwig::m_onException, VisQueuedTwig::m_onUnhandledException, m_pDD, m_processName, m_text, VisQueuedTwig::onBaseInvalidate(), VisQueuedTwig::onNewEvent(), p, and range.

00097 {
00098     // Get debugging dump.
00099     VisQueuedTwig::onNewEvent (event, eventSetup);
00100 
00101     m_digis.clear ();
00102     m_text = (QString ("Run # %1, event # %2")
00103               .arg (event.id ().run ())
00104               .arg (event.id ().event ()).latin1 ());
00105 
00106     std::vector<edm::Handle<CSCCorrelatedLCTDigiCollection> > digiCollections;
00107     
00108     try
00109     {
00110         if ((! m_friendlyName.empty ()) || (! m_moduleLabel.empty ()) || (! m_instanceName.empty ()) || (! m_processName.empty ()))
00111         {
00112             VisEventSelector visSel (m_friendlyName, m_moduleLabel, m_instanceName, m_processName);
00113             event.getMany (visSel, digiCollections);
00114         }
00115         else
00116         {
00117             event.getManyByType (digiCollections);
00118         }
00119 
00120         eventSetup.get<MuonGeometryRecord> ().get (m_pDD);
00121     }
00122     catch (cms::Exception& e)
00123     {
00124         if (this->m_onCmsException)
00125             this->m_onCmsException (&e);
00126     }
00127     catch (lat::Error &e) 
00128     {
00129         if (this->m_onError)
00130             this->m_onError (&e);
00131     }
00132     catch (std::exception &e) 
00133     {
00134         if (this->m_onException)
00135             this->m_onException (&e);
00136     }
00137     catch (...) 
00138     {
00139         if (this->m_onUnhandledException)
00140             this->m_onUnhandledException ();
00141     }
00142 
00143     if (! digiCollections.empty ())
00144     {
00145         std::vector<edm::Handle<CSCCorrelatedLCTDigiCollection> >::iterator i;
00146         std::vector<edm::Handle<CSCCorrelatedLCTDigiCollection> >::iterator iEnd;
00147         for (i = digiCollections.begin (), iEnd = digiCollections.end (); i != iEnd; ++i) 
00148         {
00149             const CSCCorrelatedLCTDigiCollection& c = *(*i);
00150     
00151             // Loop over the DetUnits with digis
00152             CSCCorrelatedLCTDigiCollection::DigiRangeIterator detUnitIt;
00153             CSCCorrelatedLCTDigiCollection::DigiRangeIterator detUnitItEnd;
00154             for (detUnitIt = c.begin (), detUnitItEnd = c.end (); detUnitIt != detUnitItEnd; ++detUnitIt)
00155             {
00156                 const CSCDetId &id = (*detUnitIt).first;
00157                 const CSCCorrelatedLCTDigiCollection::Range &range = (*detUnitIt).second;
00158 
00159                 // Loop over the digis of this DetUnit
00160                 for (CSCCorrelatedLCTDigiCollection::const_iterator digiIt = range.first;
00161                      digiIt != range.second;
00162                      ++digiIt)
00163                 {
00164                     std::pair< CSCDetId, CSCCorrelatedLCTDigi > p;
00165                     p.first = id;
00166                     p.second = (*digiIt);
00167 
00168                     m_digis.push_back (p);
00169                 } // for digis in layer
00170             } // for layers
00171         }
00172     }
00173     
00174     VisQueuedTwig::onBaseInvalidate ();
00175 }

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

Reimplemented from VisQueuedTwig.

Definition at line 512 of file VisCSCCorrelatedLCTDigiTwig.cc.

References Ig3DBaseRep::clear(), e, exception, i, edm::ESHandle< T >::isValid(), m_digis, VisQueuedTwig::m_onCmsException, VisQueuedTwig::m_onError, VisQueuedTwig::m_onException, VisQueuedTwig::m_onUnhandledException, m_pDD, Ig3DBaseRep::node(), VisQueuedTwig::update(), PV3DBase< T, PVType, FrameType >::x(), x, PV3DBase< T, PVType, FrameType >::y(), y, PV3DBase< T, PVType, FrameType >::z(), and z.

00513 {
00514     // Get debugging dump.
00515     VisQueuedTwig::update (rep);
00516 
00517     IgQtLock ();
00518     rep->clear ();
00519 
00520     if (! m_digis.empty () && m_pDD.isValid ()) 
00521     {
00522         SoSeparator *sep = new SoSeparator;    
00523         SoMaterial *mat = new SoMaterial;
00524         mat->diffuseColor.setValue (0.3, 0.8, 0.0);
00525         sep->addChild (mat);
00526 
00527         SoDrawStyle *drawStyle = new SoDrawStyle;
00528         drawStyle->pointSize = 3.0;
00529         sep->addChild (drawStyle);
00530     
00531         try 
00532         {
00533             SoVertexProperty *vertices = new SoVertexProperty;
00534             int nVrx = 0;
00535 
00536             for (std::vector<std::pair<CSCDetId, CSCCorrelatedLCTDigi> >::const_iterator i = m_digis.begin (), iEnd = m_digis.end (); i != iEnd; ++i) 
00537             {
00538                 Surface::GlobalPoint pos =  (m_pDD->idToDet ((*i).first))->surface ().position ();
00539 //              int strip = (*i).second.getCorrelatedLCT ();
00540 //              std::vector<int> adcCounts = (*i).second.getADCCounts ();
00541             
00542                 float x = pos.x () / 100.0;  // cm -> m
00543                 float y = pos.y () / 100.0;  // cm -> m
00544                 float z = pos.z () / 100.0;  // cm -> m
00545                 
00546                 vertices->vertex.set1Value (nVrx++, SbVec3f (x, y, z));
00547             }
00548             vertices->vertex.setNum (m_digis.size ());
00549 
00550             SoPointSet *points = new SoPointSet;
00551             points->vertexProperty.setValue (vertices);
00552             points->numPoints.setValue (m_digis.size ());
00553             sep->addChild (points);
00554         }    
00555         catch (cms::Exception& e)
00556         {
00557             if (this->m_onCmsException)
00558                 this->m_onCmsException (&e);
00559         }
00560         catch (lat::Error &e) 
00561         {
00562             if (this->m_onError)
00563                 this->m_onError (&e);
00564         }
00565         catch (std::exception &e) 
00566         {
00567             if (this->m_onException)
00568                 this->m_onException (&e);
00569         }
00570         catch (...) 
00571         {
00572             if (this->m_onUnhandledException)
00573                 this->m_onUnhandledException ();
00574         }
00575     
00576         rep->node ()->addChild (sep);
00577     }
00578 }

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

Reimplemented from VisQueuedTwig.

Definition at line 491 of file VisCSCCorrelatedLCTDigiTwig.cc.

References VisQueuedTwig::update().

00492 {
00493     // Get debugging dump.
00494     VisQueuedTwig::update (rep);
00495 
00496 //     IgQtLock ();
00497 //     rep->clear ();
00498     
00499 //     if (! m_digis.empty () && m_pDD.isValid ()) 
00500 //     {
00501 //      SoSeparator *sep = new SoSeparator;    
00502 
00503 //      SoMaterial *mat = new SoMaterial;
00504 //      mat->diffuseColor.setValue (0.3, 0.8, 0.0);
00505 //      sep->addChild (mat);
00506 
00507 //      rep->node ()->addChild (sep);
00508 //     }
00509 }

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

Reimplemented from VisQueuedTwig.

Definition at line 178 of file VisCSCCorrelatedLCTDigiTwig.cc.

References GenMuonPlsPt100GeV_cfg::cout, e, lat::endl(), exception, i, edm::ESHandle< T >::isValid(), m_digis, VisQueuedTwig::m_onCmsException, VisQueuedTwig::m_onError, VisQueuedTwig::m_onException, VisQueuedTwig::m_onUnhandledException, m_pDD, m_text, IgTextRep::setText(), VisQueuedTwig::update(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

00179 {
00180     // Get debugging dump.
00181     VisQueuedTwig::update (rep);
00182 
00183     // Prepare property description.
00184     std::ostringstream  text;
00185     text << "Total " << m_digis.size () << " CSC Correlated LCT digis: " << m_text << "<br>";
00186 
00187     text << "<table width='100%' border=1>"
00188          << "<TR align = center>"
00189          << "<TH>Number</TH>"
00190          << "<TH>Position</TH>"
00191          << "<TH>Validity</TH>"
00192          << "<TH>Quality</TH>"
00193          << "<TH>Key wire group</TH>"
00194          << "<TH>Strip</TH>"
00195          << "<TH>CLCT pattern number</TH>"
00196          << "<TH>Pattern</TH>"
00197          << "<TH>Strip type</TH>"
00198          << "<TH>Bend</TH>"
00199          << "<TH>BX</TH>"
00200          << "<TH>Track number</TH>"
00201          << "</TR>";
00202     text << setiosflags (std::ios::showpoint | std::ios::fixed);
00203     text.setf (std::ios::right, std::ios::adjustfield);
00204 
00205     if ((! m_digis.empty ()) && m_pDD.isValid ()) 
00206     {    
00207         int nDigis = 0;
00208         try 
00209         {
00210             for (std::vector<std::pair<CSCDetId, CSCCorrelatedLCTDigi> >::const_iterator i = m_digis.begin (), iEnd = m_digis.end (); 
00211                  i != iEnd; ++i) 
00212             {
00213                 Surface::GlobalPoint pos =  (m_pDD->idToDet ((*i).first))->surface ().position ();
00214                 text << "<TR align = right>"
00215                      << "<TD>" << std::setw (3) << ++nDigis << "</TD>"
00216                      << "<TD>" << pos.x () << ", " << pos.y () << ", " << pos.z () << "</TD>"
00217                      << "<TD>" << std::setw (6) << std::setprecision (3) << (*i).second.isValid () << "</TD>"
00218                      << "<TD>" << std::setw (6) << std::setprecision (3) << (*i).second.getQuality () << "</TD>"
00219                      << "<TD>" << std::setw (6) << std::setprecision (3) << (*i).second.getKeyWG () << "</TD>"
00220                      << "<TD>" << std::setw (6) << std::setprecision (3) << (*i).second.getStrip () << "</TD>"
00221                      << "<TD>" << std::setw (6) << std::setprecision (3) << (*i).second.getCLCTPattern () << "</TD>"
00222                      << "<TD>" << std::setw (6) << std::setprecision (3) << (*i).second.getPattern () << "</TD>"
00223                      << "<TD>" << std::setw (6) << std::setprecision (3) << (*i).second.getStripType () << "</TD>"
00224                      << "<TD>" << std::setw (6) << std::setprecision (3) << (*i).second.getBend () << "</TD>"
00225                      << "<TD>" << std::setw (6) << std::setprecision (3) << (*i).second.getBX () << "</TD>"
00226                      << "<TD>" << std::setw (6) << std::setprecision (3) << (*i).second.getTrknmb () << "</TD></TR>";
00227 
00228                 std::cout << "CSCDetId " << (*i).first << std::endl;
00229             }
00230         }
00231         catch (cms::Exception& e)
00232         {
00233             if (this->m_onCmsException)
00234                 this->m_onCmsException (&e);
00235         }
00236         catch (lat::Error &e) 
00237         {
00238             if (this->m_onError)
00239                 this->m_onError (&e);
00240         }
00241         catch (std::exception &e) 
00242         {
00243             if (this->m_onException)
00244                 this->m_onException (&e);
00245         }
00246         catch (...) 
00247         {
00248             if (this->m_onUnhandledException)
00249                 this->m_onUnhandledException ();
00250         }
00251     }  
00252     text << "</table>";
00253   
00254     // Send it over.
00255     IgQtLock ();
00256     rep->setText (text.str ());
00257 }

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

Reimplemented from VisQueuedTwig.

Definition at line 430 of file VisCSCCorrelatedLCTDigiTwig.cc.

References VisQueuedTwig::update().

00431 {
00432     // Get debugging dump.
00433     VisQueuedTwig::update (rep);
00434 
00435 //     IgQtLock ();
00436 //     rep->clear ();
00437     
00438 //     SoSeparator *sep = new SoSeparator;    
00439 
00440 //     try 
00441 //     {
00442 //      int n = 0;
00443         
00444 //      for (std::vector<std::pair<CSCDetId, CSCCorrelatedLCTDigi> >::const_iterator i = m_digis.begin (), iEnd = m_digis.end (); i != iEnd; ++i) 
00445 //      {
00446 //          Surface::GlobalPoint pos =  (m_pDD->idToDet ((*i).first))->surface ().position ();
00447 // //       double eta = pos.eta ();
00448 //          double phi = pos.phi ();
00449 //          if (phi < 0.0) phi = 2 * M_PI + phi; // correction in absence of one convention
00450 
00451             // int strip = (*i).second.getCorrelatedLCT ();
00452 //          std::vector<int> adcCounts = (*i).second.getADCCounts ();
00453 
00454 //          for (std::vector<int>::const_iterator k = adcCounts.begin (); k != adcCounts.end (); ++k)
00455 //          {
00456 //              IgSoTower *tower = new IgSoTower;
00457 //              tower->position = SbVec2f (phi, eta); // eta, phi
00458 //              tower->scaleFactor = 20.0;
00459 //              tower->energy = (*k);
00460 //              posSep->addChild (tower);
00461 //          }
00462 //          ++n;
00463 //      }
00464 // //     }
00465 
00466 //     catch (cms::Exception& e)
00467 //     {
00468 //      if (this->m_onCmsException)
00469 //          this->m_onCmsException (&e);
00470 //     }
00471 //     catch (lat::Error &e) 
00472 //     {
00473 //      if (this->m_onError)
00474 //          this->m_onError (&e);
00475 //     }
00476 //     catch (std::exception &e) 
00477 //     {
00478 //      if (this->m_onException)
00479 //          this->m_onException (&e);
00480 //     }
00481 //     catch (...) 
00482 //     {
00483 //      if (this->m_onUnhandledException)
00484 //          this->m_onUnhandledException ();
00485 //     }
00486     
00487 //     rep->node ()->addChild (sep);
00488 }

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

Reimplemented from VisQueuedTwig.

Definition at line 260 of file VisCSCCorrelatedLCTDigiTwig.cc.

References angle(), Ig3DBaseRep::clear(), d, e, exception, CSCLayer::geometry(), VisCSCChamberDrawer::getOutline(), i, edm::ESHandle< T >::isValid(), TrapezoidalPlaneBounds::length(), CSCLayerGeometry::lengthOfWireGroup(), CSCLayerGeometry::localCenterOfWireGroup(), m_dets, m_digis, VisQueuedTwig::m_onCmsException, VisQueuedTwig::m_onError, VisQueuedTwig::m_onException, VisQueuedTwig::m_onUnhandledException, m_pDD, Ig3DBaseRep::node(), GeomDet::position(), r, GeomDet::surface(), Surface::toGlobal(), VisQueuedTwig::update(), width, PV3DBase< T, PVType, FrameType >::x(), x, CSCLayerGeometry::xOfStrip(), PV3DBase< T, PVType, FrameType >::y(), y, PV3DBase< T, PVType, FrameType >::z(), and z.

00261 {
00262     // Get debugging dump.
00263     VisQueuedTwig::update (rep);
00264 
00265     IgQtLock ();
00266     rep->clear ();
00267     m_dets.clear ();
00268 
00269     if ((! m_digis.empty ()) && m_pDD.isValid ())
00270     {
00271         VisCSCChamberDrawer d;
00272 
00273         const float width  = 0.01; // strip visualization 
00274         const float depth  = 0.01; // strip visualization
00275 
00276         SbColor grey35;
00277         float transparency = 0.0f;
00278         grey35.setPackedValue(static_cast<uint32_t>(0x00595959), transparency);
00279         SoMaterial *mat = new SoMaterial;
00280         mat->diffuseColor.setValue (grey35); // grey35
00281         mat->emissiveColor.setValue(grey35);
00282 
00283         SoDrawStyle *drawStyle = new SoDrawStyle;
00284         drawStyle->pointSize = 5.0; // big point; useful for the centers of the layers
00285     
00286         SoSeparator *sep = new SoSeparator; // global
00287         sep->addChild (mat);
00288         sep->addChild (drawStyle);
00289 
00290         try 
00291         {
00292             SoMaterial *matl = new SoMaterial;
00293             matl->diffuseColor.setValue (0.0, 1.0, 0.0); // green
00294             matl->emissiveColor.setValue(0.0, 1.0, 0.0);          
00295             matl->shininess = 1.;
00296 
00297             SoDrawStyle *drawStylel = new SoDrawStyle;
00298             drawStylel->pointSize = 1.;
00299 
00300             SoSeparator *pulses = new SoSeparator; // strips
00301             pulses->addChild (matl);
00302             pulses->addChild (drawStylel);
00303             
00304             SoVertexProperty *vertices = new SoVertexProperty;
00305             int nVrtx = 0;
00306             for (std::vector<std::pair<CSCDetId, CSCCorrelatedLCTDigi> >::const_iterator 
00307                      i = m_digis.begin (), iEnd = m_digis.end (); i != iEnd; ++i)
00308             {
00309                 const CSCDetId &id = (*i).first;
00310                 const CSCLayer *layer = m_pDD->chamber (id)->layer (4);
00311                 const CSCLayerGeometry *layerGeom = layer->geometry ();
00312 
00313                 Surface::GlobalPoint pos = layer->position ();
00314                 float x = pos.x () / 100.0;  // cm -> m
00315                 float y = pos.y () / 100.0;  // cm -> m
00316                 float z = pos.z () / 100.0;  // cm -> m
00317                 vertices->vertex.set1Value (nVrtx++, SbVec3f (x, y, z));
00318                 
00319                 int quality = ((*i).second).getQuality ();
00320                 
00321                 if (quality != 0)
00322                 {
00323                     if (m_dets.find(id) == m_dets.end() )
00324                     {
00325                         m_dets.insert(id);      
00326                         // This is a frame around the (active) layer
00327                         d.getOutline(sep, m_pDD, id);
00328                     }
00329                 
00330                     if (!((quality == 1) || (quality == 3)))
00331                     {
00332                         int strip_id = ((*i).second).getStrip () / 2;
00333                         float xstrip = layerGeom->xOfStrip (strip_id);
00334                         Surface::GlobalPoint pos = layer->surface ().toGlobal
00335                               (LocalPoint(xstrip, 0., 1.)); // small shift in z 
00336                         // for Vis. purposes
00337                         x = pos.x () / 100.0;  // cm -> m
00338                         y = pos.y () / 100.0;  // cm -> m
00339                         z = pos.z () / 100.0;  // cm -> m
00340 
00341                         SoTranslation   *inc = new SoTranslation;
00342                         inc->translation = SbVec3f (x, y, z);
00343 
00344                         SbVec3f axis (0., 0., 1.);
00345                         float angle = -atan (x / y);
00346                         SbRotation r (axis, angle);
00347 
00348                         SoTransform *xform = new SoTransform;
00349                         xform ->rotation = r;
00350 
00351                         SoCube *hit = new SoCube;
00352                         hit->width  = width;
00353                         hit->height = layerGeom->length () / 100.;
00354                         hit->depth  = depth;
00355 
00356                         SoSeparator     *pulse = new SoSeparator;// strip
00357                         pulse->addChild (inc);
00358                         pulse->addChild (xform);
00359                         pulse->addChild (hit);
00360                         pulses->addChild (pulse);
00361                         // Visualize strips with signal
00362                         sep->addChild (pulses);// strips
00363                     }
00364                     if (!((quality == 4) || (quality == 5)))
00365                     {
00366                         int wireGroup_id = ((*i).second).getKeyWG ();
00367                         LocalPoint centerWireGroup = layerGeom->localCenterOfWireGroup (wireGroup_id);
00368                         pos = (m_pDD->idToDet (id))->surface ().toGlobal (centerWireGroup);
00369                         x = pos.x () / 100.0;  // cm -> m
00370                         y = pos.y () / 100.0;  // cm -> m
00371                         z = pos.z () / 100.0;  // cm -> m
00372 
00373                         SoTranslation   *winc = new SoTranslation;
00374                         winc->translation = SbVec3f (x, y, z);
00375                 
00376                         SbVec3f waxis (0., 0., 1.);     
00377                         float wangle = -atan (x / y) - M_PI / 2;
00378                         SbRotation wr (waxis, wangle);
00379                 
00380                         SoTransform *wxform = new SoTransform;
00381                         wxform ->rotation = wr;
00382                 
00383                         SoCube *whit = new SoCube;
00384                         whit->width  = width;
00385                         whit->height = layerGeom->lengthOfWireGroup (wireGroup_id) / 100.;
00386                         whit->depth  = depth;
00387                 
00388                         SoSeparator *wpulse = new SoSeparator;// wire group
00389                         wpulse->addChild (winc);
00390                         wpulse->addChild (wxform);
00391                         wpulse->addChild (whit);
00392                         pulses->addChild (wpulse);
00393                         // Visualize wire groups 
00394                         sep->addChild (pulses);// wire groups
00395                     }
00396                 }
00397                 vertices->vertex.setNum (m_digis.size ());
00398                 SoPointSet *points = new SoPointSet;
00399                 points->vertexProperty.setValue (vertices);
00400                 points->numPoints.setValue (m_digis.size ());
00401                 // Visualize the center of the layer
00402 //              sep->addChild (points);
00403             }
00404         }
00405         catch (cms::Exception& e)
00406         {
00407             if (this->m_onCmsException)
00408                 this->m_onCmsException (&e);
00409         }
00410         catch (lat::Error &e) 
00411         {
00412             if (this->m_onError)
00413                 this->m_onError (&e);
00414         }
00415         catch (std::exception &e) 
00416         {
00417             if (this->m_onException)
00418                 this->m_onException (&e);
00419         }
00420         catch (...) 
00421         {
00422             if (this->m_onUnhandledException)
00423                 this->m_onUnhandledException ();
00424         }
00425         rep->node ()->addChild (sep);
00426     }
00427 }


Member Data Documentation

std::set<CSCDetId> VisCSCCorrelatedLCTDigiTwig::m_dets [private]

Definition at line 52 of file VisCSCCorrelatedLCTDigiTwig.h.

Referenced by update().

std::vector< std::pair<CSCDetId, CSCCorrelatedLCTDigi> > VisCSCCorrelatedLCTDigiTwig::m_digis [private]

Definition at line 50 of file VisCSCCorrelatedLCTDigiTwig.h.

Referenced by onNewEvent(), and update().

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

Definition at line 46 of file VisCSCCorrelatedLCTDigiTwig.h.

Referenced by onNewEvent().

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

Definition at line 48 of file VisCSCCorrelatedLCTDigiTwig.h.

Referenced by onNewEvent().

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

Definition at line 47 of file VisCSCCorrelatedLCTDigiTwig.h.

Referenced by onNewEvent().

edm::ESHandle<CSCGeometry> VisCSCCorrelatedLCTDigiTwig::m_pDD [private]

Definition at line 51 of file VisCSCCorrelatedLCTDigiTwig.h.

Referenced by onNewEvent(), and update().

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

Definition at line 49 of file VisCSCCorrelatedLCTDigiTwig.h.

Referenced by onNewEvent().

std::string VisCSCCorrelatedLCTDigiTwig::m_text [private]

Definition at line 45 of file VisCSCCorrelatedLCTDigiTwig.h.

Referenced by onNewEvent(), and update().


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