CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
DisplayGeom Class Reference
Inheritance diagram for DisplayGeom:
edm::EDAnalyzer

Public Member Functions

 DisplayGeom (const edm::ParameterSet &)
 
 ~DisplayGeom ()
 
- Public Member Functions inherited from edm::EDAnalyzer
 EDAnalyzer ()
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 

Protected Member Functions

TEveGeoTopNode * make_node (const TString &path, Int_t vis_level, Bool_t global_cs)
 
- Protected Member Functions inherited from edm::EDAnalyzer
CurrentProcessingContext const * currentContext () const
 

Private Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &)
 
virtual void beginJob ()
 
virtual void endJob ()
 
void remakeGeometry (const DisplayGeomRecord &dgRec)
 

Private Attributes

edm::Service< EveServicem_eve
 
TEveElement * m_geomList
 
edm::ESWatcher< DisplayGeomRecordm_geomWatcher
 
int m_level
 
bool m_MF
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
typedef WorkerT< EDAnalyzerWorkerType
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 

Detailed Description

Definition at line 40 of file DisplayGeom.cc.

Constructor & Destructor Documentation

DisplayGeom::DisplayGeom ( const edm::ParameterSet iConfig)
explicit

Definition at line 72 of file DisplayGeom.cc.

References edm::ParameterSet::getUntrackedParameter(), m_level, and m_MF.

72  :
73  m_eve(),
74  m_geomList(0),
76 {
77  m_level = iConfig.getUntrackedParameter<int>( "level", 2);
78  m_MF = iConfig.getUntrackedParameter<int>( "MF", false);
79 }
T getUntrackedParameter(std::string const &, T const &) const
void remakeGeometry(const DisplayGeomRecord &dgRec)
Definition: DisplayGeom.cc:164
edm::Service< EveService > m_eve
Definition: DisplayGeom.cc:56
edm::ESWatcher< DisplayGeomRecord > m_geomWatcher
Definition: DisplayGeom.cc:64
TEveElement * m_geomList
Definition: DisplayGeom.cc:58
DisplayGeom::~DisplayGeom ( )

Definition at line 82 of file DisplayGeom.cc.

83 {
84 }

Member Function Documentation

void DisplayGeom::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
privatevirtual

Implements edm::EDAnalyzer.

Definition at line 117 of file DisplayGeom.cc.

References EveService::AddElement(), edm::ESWatcher< T >::check(), i, m_eve, m_geomWatcher, alignCSCRings::r, and alignCSCRings::s.

118 {
119  if (m_eve)
120  {
121  // Remake geometry if it has changed.
122  m_geomWatcher.check(iSetup);
123 
124  // Add a test obj
125  if (!gRandom)
126  gRandom = new TRandom(0);
127  TRandom& r= *gRandom;
128 
129  Float_t s = 100;
130 
131  TEvePointSet* ps = new TEvePointSet();
132  ps->SetOwnIds(kTRUE);
133  for(Int_t i = 0; i< 100; i++)
134  {
135  ps->SetNextPoint(r.Uniform(-s,s), r.Uniform(-s,s), r.Uniform(-s,s));
136  ps->SetPointId(new TNamed(Form("Point %d", i), ""));
137  }
138 
139  ps->SetMarkerColor(TMath::Nint(r.Uniform(2, 9)));
140  ps->SetMarkerSize(r.Uniform(1, 2));
141  ps->SetMarkerStyle(4);
142  m_eve->AddElement(ps);
143  }
144 }
int i
Definition: DBlmapReader.cc:9
edm::Service< EveService > m_eve
Definition: DisplayGeom.cc:56
bool check(const edm::EventSetup &iSetup)
Definition: ESWatcher.h:59
void AddElement(TEveElement *el)
Definition: EveService.cc:282
edm::ESWatcher< DisplayGeomRecord > m_geomWatcher
Definition: DisplayGeom.cc:64
void DisplayGeom::beginJob ( void  )
privatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 148 of file DisplayGeom.cc.

References EveService::AddGlobalElement(), EveService::getManager(), m_eve, and m_geomList.

149 {
150  if (m_eve)
151  {
152  m_geomList = new TEveElementList("Display Geom");
154  m_eve->getManager()->GetGlobalScene()->GetGLScene()->SetStyle(TGLRnrCtx::kWireFrame);
155  }
156 }
edm::Service< EveService > m_eve
Definition: DisplayGeom.cc:56
TEveManager * getManager()
Definition: EveService.cc:263
TEveElement * m_geomList
Definition: DisplayGeom.cc:58
void AddGlobalElement(TEveElement *el)
Definition: EveService.cc:287
void DisplayGeom::endJob ( void  )
privatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 160 of file DisplayGeom.cc.

160  {
161 }
TEveGeoTopNode * DisplayGeom::make_node ( const TString &  path,
Int_t  vis_level,
Bool_t  global_cs 
)
protected

Definition at line 91 of file DisplayGeom.cc.

References m_geomList.

Referenced by remakeGeometry().

92 {
93  if (! gGeoManager->cd(path))
94  {
95  Warning("make_node", "Path '%s' not found.", path.Data());
96  return 0;
97  }
98 
99  TEveGeoTopNode* tn = new TEveGeoTopNode(gGeoManager, gGeoManager->GetCurrentNode());
100  tn->SetVisLevel(vis_level);
101  if (global_cs)
102  {
103  tn->RefMainTrans().SetFrom(*gGeoManager->GetCurrentMatrix());
104  }
105  m_geomList->AddElement(tn);
106 
107  return tn;
108 }
list path
Definition: scaleCards.py:51
TEveElement * m_geomList
Definition: DisplayGeom.cc:58
void DisplayGeom::remakeGeometry ( const DisplayGeomRecord dgRec)
private

Definition at line 164 of file DisplayGeom.cc.

References relativeConstraints::geom, edm::eventsetup::EventSetupRecord::get(), m_geomList, m_level, m_MF, make_node(), and edm::ESHandle< class >::product().

165 {
166  m_geomList->DestroyElements();
167 
169  dgRec.get(geom);
170  TEveGeoManagerHolder _tgeo(const_cast<TGeoManager*>(geom.product()));
171 
172  // To have a full one, all detectors in one top-node:
173  // make_node("/cms:World_1/cms:CMSE_1", 4, kTRUE);
174 
175  if (m_MF)
176  {
177  make_node("/cms:World_1", m_level, kTRUE);
178  }
179  else
180  {
181  make_node("/cms:World_1/cms:CMSE_1/tracker:Tracker_1", m_level, kTRUE);
182  make_node("/cms:World_1/cms:CMSE_1/caloBase:CALO_1", m_level, kTRUE);
183  make_node("/cms:World_1/cms:CMSE_1/muonBase:MUON_1", m_level, kTRUE);
184  }
185 }
TEveGeoTopNode * make_node(const TString &path, Int_t vis_level, Bool_t global_cs)
Definition: DisplayGeom.cc:91
void get(HolderT &iHolder) const
T const * product() const
Definition: ESHandle.h:62
TEveElement * m_geomList
Definition: DisplayGeom.cc:58

Member Data Documentation

edm::Service<EveService> DisplayGeom::m_eve
private

Definition at line 56 of file DisplayGeom.cc.

Referenced by analyze(), and beginJob().

TEveElement* DisplayGeom::m_geomList
private

Definition at line 58 of file DisplayGeom.cc.

Referenced by beginJob(), make_node(), and remakeGeometry().

edm::ESWatcher<DisplayGeomRecord> DisplayGeom::m_geomWatcher
private

Definition at line 64 of file DisplayGeom.cc.

Referenced by analyze().

int DisplayGeom::m_level
private

Definition at line 60 of file DisplayGeom.cc.

Referenced by DisplayGeom(), and remakeGeometry().

bool DisplayGeom::m_MF
private

Definition at line 62 of file DisplayGeom.cc.

Referenced by DisplayGeom(), and remakeGeometry().