#include <VisFramework/VisEventSetup/interface/VisDTGeometryTwig.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) |
VisDTGeometryTwig (IgState *state, IgTwig *parent, const std::string &name="", const int wheel=10, const int sector=0, const int station=0) | |
virtual | ~VisDTGeometryTwig (void) |
Clean the scene graph. | |
Private Member Functions | |
void | invalidate (void) |
Private Attributes | |
SoSeparator * | m_3dDet |
bool | m_3Ddone |
VisAnnotateGeometry | m_annotate |
SoSeparator * | m_rphiDet |
bool | m_rphidone |
SoSeparator * | m_rzDet |
bool | m_rzdone |
const int | m_sector |
const int | m_station |
const int | m_wheel |
Definition at line 25 of file VisDTGeometryTwig.h.
VisDTGeometryTwig::VisDTGeometryTwig | ( | IgState * | state, | |
IgTwig * | parent, | |||
const std::string & | name = "" , |
|||
const int | wheel = 10 , |
|||
const int | sector = 0 , |
|||
const int | station = 0 | |||
) |
Definition at line 23 of file VisDTGeometryTwig.cc.
00028 : VisQueuedTwig (state, parent, name), 00029 m_wheel (wheel), 00030 m_sector (sector), 00031 m_station (station), 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, &VisDTGeometryTwig::invalidate)) 00039 {}
VisDTGeometryTwig::~VisDTGeometryTwig | ( | void | ) | [virtual] |
Definition at line 64 of file VisDTGeometryTwig.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 VisDTGeometryTwig::onNewEvent | ( | const edm::Event & | event, | |
const edm::EventSetup & | eventSetup | |||
) | [virtual] |
Reimplemented from VisQueuedTwig.
Definition at line 50 of file VisDTGeometryTwig.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 163 of file VisDTGeometryTwig.cc.
References VisEventSetupService::annotateDTChambers(), ASSERT, VisEventSetupService::buildDTChambers(), Ig3DBaseRep::clear(), DBSPlugin::get(), m_annotate, m_rzDet, m_rzdone, m_sector, m_station, m_wheel, Ig3DBaseRep::node(), NULL, VisEventSetupService::RZDet, VisQueuedTwig::state(), VisQueuedTwig::update(), and VisActiveConfigurable< T >::value().
00164 { 00165 // Get debugging dump. 00166 VisQueuedTwig::update (rep); 00167 00168 IgQtLock (); 00169 rep->clear (); 00170 00171 if (! m_rzdone) 00172 { 00173 VisEventSetupService *esService = VisEventSetupService::get (state ()); 00174 ASSERT (esService); 00175 00176 m_rzDet = esService->buildDTChambers (VisEventSetupService::RZDet, m_station, m_sector, m_wheel); 00177 if (m_rzDet == NULL) return; 00178 00179 if (m_annotate.value ()) 00180 { 00181 SoSeparator *sep = esService->annotateDTChambers (VisEventSetupService::RZDet, m_station, m_sector, m_wheel); 00182 if (sep != NULL) m_rzDet->addChild (sep); 00183 } 00184 00185 m_rzDet->ref (); 00186 m_rzdone = true; 00187 } 00188 rep->node ()->addChild (m_rzDet); 00189 }
Reimplemented from VisQueuedTwig.
Definition at line 134 of file VisDTGeometryTwig.cc.
References VisEventSetupService::annotateDTChambers(), ASSERT, VisEventSetupService::buildDTChambers(), Ig3DBaseRep::clear(), DBSPlugin::get(), m_annotate, m_rphiDet, m_rphidone, m_sector, m_station, m_wheel, Ig3DBaseRep::node(), NULL, VisEventSetupService::RPhiDet, VisQueuedTwig::state(), VisQueuedTwig::update(), and VisActiveConfigurable< T >::value().
00135 { 00136 // Get debugging dump. 00137 VisQueuedTwig::update (rep); 00138 00139 IgQtLock (); 00140 rep->clear (); 00141 00142 if (! m_rphidone) 00143 { 00144 VisEventSetupService *esService = VisEventSetupService::get (state ()); 00145 ASSERT (esService); 00146 00147 m_rphiDet = esService->buildDTChambers (VisEventSetupService::RPhiDet, m_station, m_sector, m_wheel); 00148 if (m_rphiDet == NULL) return; 00149 00150 if (m_annotate.value ()) 00151 { 00152 SoSeparator *sep = esService->annotateDTChambers (VisEventSetupService::RPhiDet, m_station, m_sector, m_wheel); 00153 if (sep != NULL) m_rphiDet->addChild (sep); 00154 } 00155 00156 m_rphiDet->ref (); 00157 m_rphidone = true; 00158 } 00159 rep->node ()->addChild (m_rphiDet); 00160 }
Reimplemented from VisQueuedTwig.
Definition at line 105 of file VisDTGeometryTwig.cc.
References VisEventSetupService::annotateDTChambers(), ASSERT, VisEventSetupService::buildDTChambers(), Ig3DBaseRep::clear(), VisEventSetupService::FullDet, DBSPlugin::get(), m_3dDet, m_3Ddone, m_annotate, m_sector, m_station, m_wheel, Ig3DBaseRep::node(), NULL, VisQueuedTwig::state(), VisQueuedTwig::update(), and VisActiveConfigurable< T >::value().
00106 { 00107 // Get debugging dump. 00108 VisQueuedTwig::update (rep); 00109 00110 IgQtLock (); 00111 rep->clear (); 00112 00113 if (! m_3Ddone) 00114 { 00115 VisEventSetupService *esService = VisEventSetupService::get (state ()); 00116 ASSERT (esService); 00117 00118 m_3dDet = esService->buildDTChambers (VisEventSetupService::FullDet, m_station, m_sector, m_wheel); 00119 if (m_3dDet == NULL) return; 00120 00121 if (m_annotate.value ()) 00122 { 00123 SoSeparator *sep = esService->annotateDTChambers (VisEventSetupService::FullDet, m_station, m_sector, m_wheel); 00124 if (sep != NULL) m_3dDet->addChild (sep); 00125 } 00126 00127 m_3dDet->ref (); 00128 m_3Ddone = true; 00129 } 00130 rep->node ()->addChild (m_3dDet); 00131 }
Reimplemented from VisQueuedTwig.
Definition at line 77 of file VisDTGeometryTwig.cc.
References ASSERT, VisEventSetupService::dtTextRep(), DBSPlugin::get(), m_sector, m_station, m_wheel, 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 DT Muon Geometry: "; 00085 text << this->name () << "<br>"; 00086 00087 text << "<table width='100%' border=1>" 00088 << "<TR align = center>" 00089 << "<TH>#</TH>" 00090 << "<TH>Wheel/Station/Sector</TH>" 00091 << "<TH>Position</TH>" 00092 << "</TR>"; 00093 00094 VisEventSetupService *esService = VisEventSetupService::get (state ()); 00095 ASSERT (esService); 00096 00097 text << esService->dtTextRep (m_station, m_sector, m_wheel); 00098 text << "</table>"; 00099 00100 IgQtLock (); 00101 rep->setText (text.str ()); 00102 }
SoSeparator* VisDTGeometryTwig::m_3dDet [private] |
Definition at line 53 of file VisDTGeometryTwig.h.
Referenced by invalidate(), update(), and ~VisDTGeometryTwig().
bool VisDTGeometryTwig::m_3Ddone [private] |
SoSeparator* VisDTGeometryTwig::m_rphiDet [private] |
Definition at line 55 of file VisDTGeometryTwig.h.
Referenced by invalidate(), update(), and ~VisDTGeometryTwig().
bool VisDTGeometryTwig::m_rphidone [private] |
SoSeparator* VisDTGeometryTwig::m_rzDet [private] |
Definition at line 54 of file VisDTGeometryTwig.h.
Referenced by invalidate(), update(), and ~VisDTGeometryTwig().
bool VisDTGeometryTwig::m_rzdone [private] |
const int VisDTGeometryTwig::m_sector [private] |
const int VisDTGeometryTwig::m_station [private] |
const int VisDTGeometryTwig::m_wheel [private] |