#include <VisFramework/VisEventSetup/interface/VisCSCGeometryTwig.h>
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 (Ig3DRep *rep) |
virtual void | update (IgTextRep *rep) |
VisCSCGeometryTwig (IgState *state, IgTwig *parent, const std::string &name="", const int endcap=0, const int station=0, const int ring=0, const int chamber=0) | |
virtual | ~VisCSCGeometryTwig (void) |
Clean the scene graph. | |
Private Member Functions | |
void | invalidate (void) |
Private Attributes | |
SoSeparator * | m_3dDet |
bool | m_3Ddone |
VisAnnotateGeometry | m_annotate |
const int | m_chamber |
const int | m_endcap |
const int | m_ring |
SoSeparator * | m_rphiDet |
bool | m_rphidone |
SoSeparator * | m_rzDet |
bool | m_rzdone |
const int | m_station |
Definition at line 25 of file VisCSCGeometryTwig.h.
VisCSCGeometryTwig::VisCSCGeometryTwig | ( | IgState * | state, | |
IgTwig * | parent, | |||
const std::string & | name = "" , |
|||
const int | endcap = 0 , |
|||
const int | station = 0 , |
|||
const int | ring = 0 , |
|||
const int | chamber = 0 | |||
) |
Definition at line 23 of file VisCSCGeometryTwig.cc.
00027 : VisQueuedTwig (state, parent, name), 00028 m_endcap (endcap), 00029 m_station (station), 00030 m_ring (ring), 00031 m_chamber (chamber), 00032 m_3dDet (NULL), 00033 m_rzDet (NULL), 00034 m_rphiDet (NULL), 00035 m_3Ddone (false), 00036 m_rzdone (false), 00037 m_rphidone (false), 00038 m_annotate (state, lat::CreateCallback (this, &VisCSCGeometryTwig::invalidate)) 00039 {}
VisCSCGeometryTwig::~VisCSCGeometryTwig | ( | void | ) | [virtual] |
Definition at line 64 of file VisCSCGeometryTwig.cc.
References m_3dDet, m_3Ddone, m_rphiDet, m_rphidone, m_rzDet, m_rzdone, NULL, and VisQueuedTwig::onBaseInvalidate().
Referenced by onNewEvent().
00065 { 00066 if (m_3dDet != NULL) m_3dDet->unref (); 00067 if (m_rzDet != NULL) m_rzDet->unref (); 00068 if (m_rphiDet != NULL) m_rphiDet->unref (); 00069 m_3Ddone = false; 00070 m_rzdone = false; 00071 m_rphidone = false; 00072 00073 VisQueuedTwig::onBaseInvalidate (); 00074 }
void VisCSCGeometryTwig::onNewEvent | ( | const edm::Event & | event, | |
const edm::EventSetup & | eventSetup | |||
) | [virtual] |
Reimplemented from VisQueuedTwig.
Definition at line 50 of file VisCSCGeometryTwig.cc.
References ASSERT, DBSPlugin::get(), invalidate(), VisEventSetupService::muonGeomChanged(), VisQueuedTwig::onNewEvent(), and VisQueuedTwig::state().
00052 { 00053 // Get debugging dump. 00054 VisQueuedTwig::onNewEvent (event, eventSetup); 00055 00056 VisEventSetupService *esService = VisEventSetupService::get (state ()); 00057 ASSERT (esService); 00058 00059 if (esService->muonGeomChanged ()) 00060 invalidate (); 00061 }
Reimplemented from VisQueuedTwig.
Definition at line 165 of file VisCSCGeometryTwig.cc.
References VisEventSetupService::annotateCSCChambers(), ASSERT, VisEventSetupService::buildCSCChambers(), Ig3DBaseRep::clear(), DBSPlugin::get(), m_annotate, m_chamber, m_endcap, m_ring, m_rzDet, m_rzdone, m_station, Ig3DBaseRep::node(), NULL, VisEventSetupService::RZDet, VisQueuedTwig::state(), VisQueuedTwig::update(), and VisActiveConfigurable< T >::value().
00166 { 00167 // Get debugging dump. 00168 VisQueuedTwig::update (rep); 00169 00170 IgQtLock (); 00171 rep->clear (); 00172 00173 if (! m_rzdone) 00174 { 00175 VisEventSetupService *esService = VisEventSetupService::get (state ()); 00176 ASSERT (esService); 00177 00178 m_rzDet = esService->buildCSCChambers (VisEventSetupService::RZDet, m_chamber, m_ring, m_station, m_endcap); 00179 if (m_rzDet == NULL) return; 00180 00181 if (m_annotate.value ()) 00182 { 00183 SoSeparator *sep = esService->annotateCSCChambers (VisEventSetupService::RZDet, m_chamber, m_ring, m_station, m_endcap); 00184 if (sep != NULL) m_rzDet->addChild (sep); 00185 } 00186 00187 m_rzDet->ref (); 00188 m_rzdone = true; 00189 } 00190 rep->node ()->addChild (m_rzDet); 00191 }
Reimplemented from VisQueuedTwig.
Definition at line 136 of file VisCSCGeometryTwig.cc.
References VisEventSetupService::annotateCSCChambers(), ASSERT, VisEventSetupService::buildCSCChambers(), Ig3DBaseRep::clear(), DBSPlugin::get(), m_annotate, m_chamber, m_endcap, m_ring, m_rphiDet, m_rphidone, m_station, Ig3DBaseRep::node(), NULL, VisEventSetupService::RPhiDet, VisQueuedTwig::state(), VisQueuedTwig::update(), and VisActiveConfigurable< T >::value().
00137 { 00138 // Get debugging dump. 00139 VisQueuedTwig::update (rep); 00140 00141 IgQtLock (); 00142 rep->clear (); 00143 00144 if (! m_rphidone) 00145 { 00146 VisEventSetupService *esService = VisEventSetupService::get (state ()); 00147 ASSERT (esService); 00148 00149 m_rphiDet = esService->buildCSCChambers (VisEventSetupService::RPhiDet, m_chamber, m_ring, m_station, m_endcap); 00150 if (m_rphiDet == NULL) return; 00151 00152 if (m_annotate.value ()) 00153 { 00154 SoSeparator *sep = esService->annotateCSCChambers (VisEventSetupService::RPhiDet, m_chamber, m_ring, m_station, m_endcap); 00155 if (sep != NULL) m_rphiDet->addChild (sep); 00156 } 00157 00158 m_rphiDet->ref (); 00159 m_rphidone = true; 00160 } 00161 rep->node ()->addChild (m_rphiDet); 00162 }
Reimplemented from VisQueuedTwig.
Definition at line 107 of file VisCSCGeometryTwig.cc.
References VisEventSetupService::annotateCSCChambers(), ASSERT, VisEventSetupService::buildCSCChambers(), Ig3DBaseRep::clear(), VisEventSetupService::FullDet, DBSPlugin::get(), m_3dDet, m_3Ddone, m_annotate, m_chamber, m_endcap, m_ring, m_station, Ig3DBaseRep::node(), NULL, VisQueuedTwig::state(), VisQueuedTwig::update(), and VisActiveConfigurable< T >::value().
00108 { 00109 // Get debugging dump. 00110 VisQueuedTwig::update (rep); 00111 00112 IgQtLock (); 00113 rep->clear (); 00114 00115 if (! m_3Ddone) 00116 { 00117 VisEventSetupService *esService = VisEventSetupService::get (state ()); 00118 ASSERT (esService); 00119 00120 m_3dDet = esService->buildCSCChambers (VisEventSetupService::FullDet, m_chamber, m_ring, m_station, m_endcap); 00121 if (m_3dDet == NULL) return; 00122 00123 if (m_annotate.value ()) 00124 { 00125 SoSeparator *sep = esService->annotateCSCChambers (VisEventSetupService::FullDet, m_chamber, m_ring, m_station, m_endcap); 00126 if (sep != NULL) m_3dDet->addChild (sep); 00127 } 00128 00129 m_3dDet->ref (); 00130 m_3Ddone = true; 00131 } 00132 rep->node ()->addChild (m_3dDet); 00133 }
Reimplemented from VisQueuedTwig.
Definition at line 77 of file VisCSCGeometryTwig.cc.
References ASSERT, VisEventSetupService::cscTextRep(), DBSPlugin::get(), m_chamber, m_endcap, m_ring, m_station, IgSimpleTwig::name(), IgTextRep::setText(), VisQueuedTwig::state(), and VisQueuedTwig::update().
00078 { 00079 // Get debugging dump. 00080 VisQueuedTwig::update (rep); 00081 00082 // Prepare property description. 00083 std::ostringstream text; 00084 text << "CMS CSC Muon Geometry: "; 00085 text << this->name () << "<br>"; 00086 00087 text << "<table width='100%' border=1>" 00088 << "<TR align = center>" 00089 << "<TH>#</TH>" 00090 << "<TH>id(hex)</TH>" 00091 << "<TH>id(dec)</TH>" 00092 << "<TH>Endcap/Station/Ring/Chamber</TH>" 00093 << "<TH>Position</TH>" 00094 << "</TR>"; 00095 00096 VisEventSetupService *esService = VisEventSetupService::get (state ()); 00097 ASSERT (esService); 00098 00099 text << esService->cscTextRep (m_chamber, m_ring, m_station, m_endcap); 00100 text << "</table>"; 00101 00102 IgQtLock (); 00103 rep->setText (text.str ()); 00104 }
SoSeparator* VisCSCGeometryTwig::m_3dDet [private] |
Definition at line 55 of file VisCSCGeometryTwig.h.
Referenced by invalidate(), update(), and ~VisCSCGeometryTwig().
bool VisCSCGeometryTwig::m_3Ddone [private] |
const int VisCSCGeometryTwig::m_chamber [private] |
const int VisCSCGeometryTwig::m_endcap [private] |
const int VisCSCGeometryTwig::m_ring [private] |
SoSeparator* VisCSCGeometryTwig::m_rphiDet [private] |
Definition at line 57 of file VisCSCGeometryTwig.h.
Referenced by invalidate(), update(), and ~VisCSCGeometryTwig().
bool VisCSCGeometryTwig::m_rphidone [private] |
SoSeparator* VisCSCGeometryTwig::m_rzDet [private] |
Definition at line 56 of file VisCSCGeometryTwig.h.
Referenced by invalidate(), update(), and ~VisCSCGeometryTwig().
bool VisCSCGeometryTwig::m_rzdone [private] |
const int VisCSCGeometryTwig::m_station [private] |