ATLAS Offline Software
Loading...
Searching...
No Matches
VP1SimHitSystem Class Reference

#include <VP1SimHitSystem.h>

Inheritance diagram for VP1SimHitSystem:
Collaboration diagram for VP1SimHitSystem:

Classes

class  Clockwork

Public Types

typedef std::set< SoCamera * > CamList
typedef CamList::iterator CamListItr
enum  State { CONSTRUCTED =0 , REFRESHED , ERASED , UNCREATED }
enum  ActiveState { ON =0 , OFF }

Signals

void itemFromSystemSelected ()
void sysmessage (QString) const
void inactiveSystemTurnedActive ()
void needErase ()

Public Member Functions

 VP1SimHitSystem ()
 ~VP1SimHitSystem ()
QWidget * buildController ()
void systemcreate (StoreGateSvc *detstore)
void buildEventSceneGraph (StoreGateSvc *sg, SoSeparator *root)
void ensureBuildController ()
virtual void buildPermanentSceneGraph (StoreGateSvc *detstore, SoSeparator *root)
void updateGUI ()
virtual void userPickedNode (SoNode *pickedNode, SoPath *pickedPath)
virtual void systemerase ()
virtual void systemuncreate ()
void warnOnDisabledNotifications () const
void registerCamera (SoCamera *camera)
void registerViewer (SoQtViewer *viewer)
void registerSelectionNode (SoCooperativeSelection *)
void unregisterSelectionNode (SoCooperativeSelection *)
void setUserSelectionNotificationsEnabled (SoCooperativeSelection *sel, bool enabled)
virtual void userSelectedSingleNode (SoCooperativeSelection *, SoNode *, SoPath *)
virtual void userDeselectedSingleNode (SoCooperativeSelection *, SoNode *, SoPath *)
virtual void userChangedSelection (SoCooperativeSelection *, const QSet< SoNode * > &, QSet< SoPath * >)
virtual void userClickedOnBgd ()
virtual void deselectAll (SoCooperativeSelection *exception_sel=0)
CamList getCameraList ()
virtual QWidget * buildExtraDisplayWidget ()
const QString & name () const
const QString & information () const
const QString & contact_info () const
QWidget * controllerWidget ()
virtual QByteArray saveState ()
virtual void restoreFromState (QByteArray)
void message (const QString &) const
void message (const QStringList &, const QString &addtoend="") const
void message (const QString &addtostart, const QStringList &, const QString &addtoend="") const
void messageDebug (const QString &) const
void messageDebug (const QStringList &, const QString &addtoend="") const
void messageDebug (const QString &addtostart, const QStringList &, const QString &addtoend="") const
void messageVerbose (const QString &) const
void messageVerbose (const QStringList &, const QString &addtoend="") const
void messageVerbose (const QString &addtostart, const QStringList &, const QString &addtoend="") const
StoreGateSvcstoreGate () const
StoreGateSvceventStore () const
StoreGateSvcdetectorStore () const
ISvcLocator * serviceLocator () const
IToolSvc * toolSvc () const
State state () const
ActiveState activeState () const

Static Public Member Functions

static bool verbose ()
static QString str (const QString &s)
static QString str (const char *c)
static QString str (const bool b)
static QString str (const QColor &)
static QString str (const SbColor &)
static QString str (const VP1Interval &)
static QString str (const SbVec2d &)
static QString str (const SbVec2f &)
static QString str (const SbVec2s &)
static QString str (const SbVec3d &)
static QString str (const SbVec3f &)
static QString str (const SbVec3s &)
static QString str (const SbVec4d &)
static QString str (const SbVec4f &)
static QString str (short int n)
static QString str (unsigned short int n)
static QString str (long n)
static QString str (ulong n)
static QString str (int n)
static QString str (uint n)
static QString str (qlonglong n)
static QString str (qulonglong n)
static QString str (const double &d)
static QString str (const float &f)
static QString str (const void *)
template<class T>
static QString str (const T *t)
template<class T>
static QString str (const QFlags< T > &f)
template<class T>
static QString str (const HepGeom::BasicVector3D< T > &t)
static QString str (const Amg::Vector3D &t)
template<class T>
static QString str (const QList< T > &t)

Protected Slots

void checkboxChanged ()

Protected Member Functions

void registerController (QWidget *)

Private Slots

void activateClickedOutside ()

Private Member Functions

void buildHitTree (const QString &detector)
void handleDetDescrElementHit (const CaloDetDescrElement *hitElement, SoVertexProperty *hitVtxProperty, unsigned int &hitCount)
SoSeparator * getSceneGraph () const
void create (StoreGateSvc *detstore)
void refresh (StoreGateSvc *storegate)
void erase ()
void uncreate ()
void disallowUpdateGUI ()
void allowUpdateGUI ()
void setChannel (IVP1ChannelWidget *)
IVP1ChannelWidgetchannel () const
void deleteController ()
void setState (const State &)
void setActiveState (const ActiveState &, const bool &donttriggererase=true)
bool isRefreshing ()
void setRefreshing (const bool &)
void setCanRegisterController (const bool &)

Private Attributes

Clockworkm_clockwork
Impm_d

Static Private Attributes

static const bool s_vp1verbose = VP1QtUtils::environmentVariableIsOn("VP1_VERBOSE_OUTPUT")

Detailed Description

Definition at line 14 of file VP1SimHitSystem.h.

Member Typedef Documentation

◆ CamList

typedef std::set<SoCamera*> IVP13DSystem::CamList
inherited

Definition at line 90 of file IVP13DSystem.h.

◆ CamListItr

typedef CamList::iterator IVP13DSystem::CamListItr
inherited

Definition at line 91 of file IVP13DSystem.h.

Member Enumeration Documentation

◆ ActiveState

enum IVP1System::ActiveState
inherited
Enumerator
ON 
OFF 

Definition at line 144 of file IVP1System.h.

144{ ON=0, OFF };//Whether it is part of the erase/refresh cycle.

◆ State

enum IVP1System::State
inherited
Enumerator
CONSTRUCTED 
REFRESHED 
ERASED 
UNCREATED 

Definition at line 143 of file IVP1System.h.

Constructor & Destructor Documentation

◆ VP1SimHitSystem()

VP1SimHitSystem::VP1SimHitSystem ( )

Definition at line 83 of file VP1SimHitSystem.cxx.

84 :IVP13DSystemSimple("Sim Hits","Display simulation hits from trackers and calorimeters","Vakho Tsulaia <Vakhtang.Tsulaia@cern.ch>, Riccardo Maria Bianchi <Riccardo.Maria.Bianchi@cern.ch>"),
86{
87}
IVP13DSystemSimple(const QString &name, const QString &information, const QString &contact_info)
Clockwork * m_clockwork

◆ ~VP1SimHitSystem()

VP1SimHitSystem::~VP1SimHitSystem ( )

Definition at line 89 of file VP1SimHitSystem.cxx.

90{
91 delete m_clockwork;
92 m_clockwork = 0;
93}

Member Function Documentation

◆ activateClickedOutside

void IVP13DSystem::activateClickedOutside ( )
privateslotinherited

Definition at line 85 of file IVP13DSystem.cxx.

86{
87 if (!m_d->clickedoutsideScheduled)
88 return;
89 m_d->clickedoutsideScheduled = false;
91}
virtual void userClickedOnBgd()

◆ activeState()

IVP1System::ActiveState IVP1System::activeState ( ) const
inherited

Definition at line 135 of file IVP1System.cxx.

136{
137 return m_d->activeState;
138}

◆ allowUpdateGUI()

void IVP1System::allowUpdateGUI ( )
privateinherited

Definition at line 256 of file IVP1System.cxx.

257{
258 m_d->allowupdategui=true;
259}

◆ buildController()

QWidget * VP1SimHitSystem::buildController ( )
virtual

Reimplemented from IVP13DSystemSimple.

Definition at line 95 of file VP1SimHitSystem.cxx.

96{
97 QWidget* controller = new QWidget(0);
98 Ui::SimHitControllerForm ui;
99 ui.setupUi(controller);
100
101 // Populate Check Box Names Map
102 m_clockwork->checkBoxNamesMap.insert(ui.chbxPixelHits,"Pixel");
103 m_clockwork->checkBoxNamesMap.insert(ui.chbxSCTHits,"SCT");
104 m_clockwork->checkBoxNamesMap.insert(ui.chbxTRTHits,"TRT");
105 m_clockwork->checkBoxNamesMap.insert(ui.chbxMDTHits,"MDT");
106 m_clockwork->checkBoxNamesMap.insert(ui.chbxRPCHits,"RPC");
107 m_clockwork->checkBoxNamesMap.insert(ui.chbxTGCHits,"TGC");
108 m_clockwork->checkBoxNamesMap.insert(ui.chbxCSCHits,"CSC");
109 m_clockwork->checkBoxNamesMap.insert(ui.chbxMMHits,"MM");
110 m_clockwork->checkBoxNamesMap.insert(ui.chbxsTGCHits,"sTGC");
111 m_clockwork->checkBoxNamesMap.insert(ui.chbxLArEMBHits,"LArEMB");
112 m_clockwork->checkBoxNamesMap.insert(ui.chbxLArEMECHits,"LArEMEC");
113 m_clockwork->checkBoxNamesMap.insert(ui.chbxLArFCALHits,"LArFCAL");
114 m_clockwork->checkBoxNamesMap.insert(ui.chbxLArHECHits,"LArHEC");
115 m_clockwork->checkBoxNamesMap.insert(ui.chbxTileHits,"Tile");
116 m_clockwork->checkBoxNamesMap.insert(ui.chbxGenericMuonHits,"Generic Muon");
117 m_clockwork->checkBoxNamesMap.insert(ui.chbxForwardRegionHits,"Forward Region");
118
119 // Populate Check Box Map and connect slots
120 for(QCheckBox* cb : m_clockwork->checkBoxNamesMap.keys())
121 {
122 connect(cb,SIGNAL(toggled(bool)),this,SLOT(checkboxChanged()));
123 m_clockwork->checkBoxMap.insert(m_clockwork->checkBoxNamesMap[cb],cb);
124 }
125
126 return controller;
127}

◆ buildEventSceneGraph()

void VP1SimHitSystem::buildEventSceneGraph ( StoreGateSvc * sg,
SoSeparator * root )
virtual

Implements IVP13DSystemSimple.

Definition at line 172 of file VP1SimHitSystem.cxx.

173{
174 // --- Draw style: POINTS
175 SoDrawStyle* ds = new SoDrawStyle();
176 ds->style.setValue(SoDrawStyle::POINTS);
177 ds->pointSize=4;
178 root->addChild(ds);
179
180 // Keep SG pointer
181 m_clockwork->sg = sg;
182
183 // clean up
184 m_clockwork->switchMap.clear();
185 m_clockwork->hitsThisEvent.clear();
186
187 if(!sg)
188 {
189 message("0 pointer to the Store Gate!");
190 return;
191 }
192
193 for(const QString& detector : m_clockwork->checkBoxMap.keys())
194 {
195 // Add switch, off by default
196 SoSwitch* sw = new SoSwitch();
197 sw->whichChild = SO_SWITCH_NONE;
198 root->addChild(sw);
199 m_clockwork->switchMap.insert(detector,sw);
200
201 // Build subtree if the check box is ON
202 if(m_clockwork->checkBoxMap.contains(detector) &&
203 m_clockwork->checkBoxMap[detector]->isChecked())
204 {
205 buildHitTree(detector);
206 sw->whichChild = SO_SWITCH_ALL;
207 }
208 updateGUI();
209 }
210}
void message(const QString &) const
void buildHitTree(const QString &detector)

◆ buildExtraDisplayWidget()

virtual QWidget * IVP13DSystem::buildExtraDisplayWidget ( )
inlinevirtualinherited

Definition at line 106 of file IVP13DSystem.h.

106{ return 0; }

◆ buildHitTree()

void VP1SimHitSystem::buildHitTree ( const QString & detector)
private

Definition at line 239 of file VP1SimHitSystem.cxx.

240{
241 messageVerbose("buildHitTree for "+detector);
242 if(m_clockwork->hitsThisEvent.contains(detector)) {
243 messageVerbose(" in hitsThisEvent"); return;
244 }
245 if(!m_clockwork->colorMap.contains(detector)) {
246 messageVerbose("not in colorMap"); return;
247 }
248 if(!m_clockwork->switchMap.contains(detector)) {
249 messageVerbose("not in switchMap"); return;
250 }
251
252 // -- Initializations
253 StoreGateSvc* sg = m_clockwork->sg;
254 SoSwitch* sw = m_clockwork->switchMap[detector];
255 unsigned int hitCount = 0;
256
257 SoVertexProperty* hitVtxProperty = new SoVertexProperty();
258 SoPointSet* hitPointSet = new SoPointSet();
259
260 hitVtxProperty->enableNotify(FALSE);
261 hitPointSet->enableNotify(FALSE);
262
263 // -- COLOR
264 SoMaterial* material = new SoMaterial();
265 material->diffuseColor.setValue(m_clockwork->colorMap[detector]);
266
267 sw->addChild(material);
268
269 // Take hits from SG
270 if(detector=="Pixel")
271 {
272 //
273 // Pixel:
274 //
275 const SiHitCollection* p_collection = nullptr;
276 if(sg->retrieve(p_collection,"PixelHits")==StatusCode::SUCCESS)
277 {
278 for (const SiHit& hit : *p_collection)
279 {
280 GeoSiHit ghit(hit);
281 if(!ghit) continue;
282 HepGeom::Point3D<double> u = ghit.getGlobalPosition();
283 hitVtxProperty->vertex.set1Value(hitCount++,u.x(),u.y(),u.z());
284 }
285 }
286 else
287 message("Unable to retrieve Pixel Hits");
288 }
289 else if(detector=="SCT")
290 {
291 //
292 // SCT:
293 //
294 const SiHitCollection* s_collection = 0;
295 if(sg->retrieve(s_collection,"SCT_Hits")==StatusCode::SUCCESS)
296 {
297 for (const SiHit& hit : *s_collection)
298 {
299 GeoSiHit ghit(hit);
300 if (!ghit) continue;
301 HepGeom::Point3D<double> u = ghit.getGlobalPosition();
302 hitVtxProperty->vertex.set1Value(hitCount++,u.x(),u.y(),u.z());
303 }
304 }
305 else
306 message("Unable to retrieve SCT Hits");
307 }
308 else if(detector=="TRT")
309 {
310 //
311 // TRT:
312 //
313 const TRTUncompressedHitCollection* t_collection = nullptr;
314 if(sg->retrieve(t_collection,"TRTUncompressedHits")==StatusCode::SUCCESS)
315 {
316 for (const TRTUncompressedHit& hit : *t_collection)
317 {
318 GeoTRTUncompressedHit ghit(hit);
319 if(!ghit) continue;
320 Amg::Vector3D u = Amg::Hep3VectorToEigen(ghit.getGlobalPosition(m_clockwork->trt_dd_man));
321 hitVtxProperty->vertex.set1Value(hitCount++,u.x(),u.y(), u.z() );
322 }
323 }
324 else
325 message("Unable to retrieve TRT Hits");
326 }
327 else if(detector=="LArEMB" || detector=="LArEMEC" || detector=="LArFCAL" || detector=="LArHEC" )
328 {
329 //
330 // LAr:
331 //
332 // NOTE: to access additional LAr simHit data, see:
333 // Simulation/Tools/HitAnalysis/src/CaloHitAnalysis.cxx
334 //
335 const LArHitContainer* lar_collection;
336
337 std::string collName{"LArHit"};
338 std::string suff{""};
339
340 if (detector=="LArEMB")
341 suff = "EMB";
342 else if (detector=="LArEMEC")
343 suff = "EMEC";
344 else if (detector=="LArFCAL")
345 suff = "FCAL";
346 else if (detector=="LArHEC")
347 suff = "HEC";
348 collName += suff; // e.g., we get 'LArHitEMB'
349
350 if(sg->retrieve(lar_collection, collName)==StatusCode::SUCCESS)
351 {
352 for (auto hi : *lar_collection ) {
353
354 const LArHit* larHit = hi;
355 const CaloDetDescrElement* ddElement = m_clockwork->lar_dd_man->get_element(larHit->cellID());
356 if (ddElement)
357 handleDetDescrElementHit(ddElement, hitVtxProperty, hitCount);
358 else
359 message("Unable to retrieve the CaloDetDescrElement!");
360 }
361 }
362 else
363 message("Unable to retrieve " + QString::fromStdString(collName) );
364 }
365 else if(detector=="Tile")
366 {
367 //
368 // Tile:
369 //
370 // For more Tile simHits data, see:
371 // Simulation/Tools/HitAnalysis/src/CaloHitAnalysis.cxx
372 //
373 const TileHitVector* t_collection = nullptr;
374
375 if(sg->retrieve(t_collection,"TileHitVec")==StatusCode::SUCCESS)
376 {
377 for (const TileHit& hit : *t_collection) {
378 Identifier pmt_id = hit.identify();
379 Identifier cell_id = m_clockwork->tile_id->cell_id(pmt_id);
380 const CaloDetDescrElement* ddElement = (m_clockwork->tile_id->is_tile_aux(cell_id)) ? 0 : m_clockwork->tile_dd_man->get_cell_element(cell_id);
381 if (ddElement)
382 handleDetDescrElementHit(ddElement, hitVtxProperty, hitCount);
383 else
384 message("Unable to retrieve the CaloDetDescrElement!");
385 }
386 }
387 else
388 message("Unable to retrieve Tile Hits");
389 }
390 else if(detector=="MDT")
391 {
392 //
393 // MDT:
394 //
395 const MDTSimHitCollection* mdt_collection = nullptr;
396 if(sg->retrieve(mdt_collection)==StatusCode::SUCCESS)
397 {
398 for (const MDTSimHit& hit : *mdt_collection)
399 {
400 GeoMDTHit ghit(hit);
401 if(!ghit) continue;
402 Amg::Vector3D u = ghit.getGlobalPosition();
403 hitVtxProperty->vertex.set1Value(hitCount++,u.x(),u.y(),u.z());
404 }
405 }
406 else
407 message("Unable to retrieve MDT Hits");
408 }
409 else if(detector=="RPC")
410 {
411 //
412 // RPC:
413 //
414 const RPCSimHitCollection* rpc_collection = nullptr;
415 if(sg->retrieve(rpc_collection)==StatusCode::SUCCESS) {
416 for (const RPCSimHit& hit : *rpc_collection)
417 {
418 GeoRPCHit ghit(hit);
419 if(!ghit) continue;
420 Amg::Vector3D u = ghit.getGlobalPosition();
421 hitVtxProperty->vertex.set1Value(hitCount++,u.x(),u.y(),u.z());
422 }
423 }
424 else
425 message("Unable to retrieve RPC Hits");
426 }
427 else if(detector=="TGC")
428 {
429 //
430 // TGC:
431 //
432 const TGCSimHitCollection* tgc_collection = nullptr;
433 if (sg->retrieve(tgc_collection)==StatusCode::SUCCESS)
434 {
435 for (const TGCSimHit& hit : *tgc_collection)
436 {
437 GeoTGCHit ghit(hit);
438 if(!ghit) continue;
439 Amg::Vector3D u = ghit.getGlobalPosition();
440 hitVtxProperty->vertex.set1Value(hitCount++,u.x(),u.y(),u.z());
441 }
442 }
443 else
444 message("Unable to retrieve TGC Hits");
445 }
446 else if(detector=="CSC")
447 {
448 //
449 // CSC:
450 //
451 const CSCSimHitCollection* csc_collection = nullptr;
452 if(sg->retrieve(csc_collection)==StatusCode::SUCCESS)
453 {
454 for (const CSCSimHit& hit : *csc_collection)
455 {
456 GeoCSCHit ghit(hit);
457 if (!ghit) continue;
458 Amg::Vector3D u = ghit.getGlobalPosition();
459 hitVtxProperty->vertex.set1Value(hitCount++,u.x(),u.y(),u.z());
460 }
461 }
462 else
463 message("Unable to retrieve CSC Hits");
464 }
465 else if(detector=="MM")
466 {
467 //
468 // NSW / MM:
469 //
470 const MMSimHitCollection* mm_collection;
471 if(sg->retrieve(mm_collection)==StatusCode::SUCCESS)
472 {
473 for( const MMSimHit& hit : *mm_collection )
474 {
475 GeoMMHit ghit(hit);
476 if(!ghit) continue;
477 Amg::Vector3D u = ghit.getGlobalPosition();
478 hitVtxProperty->vertex.set1Value(hitCount++,u.x(),u.y(),u.z());
479 }
480 }
481 else
482 message("Unable to retrieve MM Hits");
483 }
484 else if(detector=="sTGC")
485 {
486 //
487 // NSW / sTGC:
488 //
489 const sTGCSimHitCollection* stgc_collection;
490 if(sg->retrieve(stgc_collection)==StatusCode::SUCCESS)
491 {
492 for( const sTGCSimHit& hit : *stgc_collection )
493 {
494 GeosTGCHit ghit(hit);
495 if(!ghit) continue;
496 Amg::Vector3D u = ghit.getGlobalPosition();
497 hitVtxProperty->vertex.set1Value(hitCount++,u.x(),u.y(),u.z());
498 }
499 }
500 else
501 message("Unable to retrieve sTGC Hits");
502 }
503 else if(detector=="Generic Muon")
504 {
505 //
506 // Generic:
507 //
508 message("Trying for Generic Muon (as many collections as can be found)");
509 for(const QString& key : VP1SGContentsHelper(this).getKeys<GenericMuonSimHitCollection>()) {
510 const GenericMuonSimHitCollection* generic_collection = nullptr;
511 if(sg->retrieve( generic_collection,key.toStdString().c_str() )==StatusCode::SUCCESS)
512 {
513 messageVerbose("Retrieved"+key+"with size: "+str(generic_collection->size()));
514 std::cout<<"Got collection with size: "<<generic_collection->size()<<std::endl;
515
516 //unsigned int i=0; // for DEBUG only
517 for (const GenericMuonSimHit& hit : *generic_collection)
518 {
519 // std::cout << "Got hit number: " << i++ << std::endl; // for DEBUG only
520 const GenericMuonSimHit ghit(hit);
521 const Amg::Vector3D& u = ghit.globalPosition();
522 hitVtxProperty->vertex.set1Value(hitCount++,u.x(),u.y(),u.z());
523 }
524 }
525 else
526 message("Unable to retrieve Generic Muon Hits from "+key);
527 }
528 } else if(detector=="Forward Region")
529 {
530 //
531 // Generic:
532 //
533 message("Trying for ForwardRegion (as many collections as can be found)");
534 for(const QString& key : VP1SGContentsHelper(this).getKeys<SimulationHitCollection>()) {
535 const SimulationHitCollection* generic_collection = nullptr;
536 if(sg->retrieve( generic_collection,key.toStdString().c_str() )==StatusCode::SUCCESS)
537 {
538 messageVerbose("Retrieved"+key+"with size: "+str(generic_collection->size()));
539 std::cout<<"Got collection with size: "<<generic_collection->size()<<std::endl;
540
541 //unsigned int i=0; // for DEBUG only
542 for (const SimulationHit& hit : *generic_collection)
543 {
544 // std::cout << "Got hit number: " << i++ << std::endl; // for DEBUG only
545 const SimulationHit ghit(hit);
546 const Amg::Vector3D& u = Amg::Hep3VectorToEigen(ghit.pre().position);
547 hitVtxProperty->vertex.set1Value(hitCount++,u.x(),u.y(),u.z());
548 }
549 }
550 else
551 message("Unable to retrieve Simulation Hits from "+key);
552 }
553 }
554
555 // Add to the switch
556 hitPointSet->numPoints=hitCount;
557 hitPointSet->vertexProperty.setValue(hitVtxProperty);
558 sw->addChild(hitPointSet);
559 hitPointSet->enableNotify(TRUE);
560 hitVtxProperty->enableNotify(TRUE);
561}
AtlasHitsVector< CSCSimHit > CSCSimHitCollection
AtlasHitsVector< GenericMuonSimHit > GenericMuonSimHitCollection
LArHitContainer
AtlasHitsVector< MDTSimHit > MDTSimHitCollection
AtlasHitsVector< MMSimHit > MMSimHitCollection
AtlasHitsVector< RPCSimHit > RPCSimHitCollection
AtlasHitsVector< SiHit > SiHitCollection
AtlasHitsVector< SimulationHit > SimulationHitCollection
AtlasHitsVector< TGCSimHit > TGCSimHitCollection
AtlasHitsVector< TRTUncompressedHit > TRTUncompressedHitCollection
AtlasHitsVector< TileHit > TileHitVector
size_type size() const
void messageVerbose(const QString &) const
Identifier cellID() const
Definition LArHit.h:108
StatusCode retrieve(const T *&ptr) const
Retrieve the default object into a const T*.
void handleDetDescrElementHit(const CaloDetDescrElement *hitElement, SoVertexProperty *hitVtxProperty, unsigned int &hitCount)
static QString str(const QString &s)
Definition VP1String.h:49
Amg::Vector3D Hep3VectorToEigen(const CLHEP::Hep3Vector &CLHEPvector)
Converts a CLHEP-based CLHEP::Hep3Vector into an Eigen-based Amg::Vector3D.
Eigen::Matrix< double, 3, 1 > Vector3D
@ u
Enums for curvilinear frames.
Definition ParamDefs.h:77
AtlasHitsVector< sTGCSimHit > sTGCSimHitCollection

◆ buildPermanentSceneGraph()

void IVP13DSystemSimple::buildPermanentSceneGraph ( StoreGateSvc * detstore,
SoSeparator * root )
virtualinherited

◆ channel()

IVP1ChannelWidget * IVP1System::channel ( ) const
privateinherited

Definition at line 275 of file IVP1System.cxx.

276{
277 if (VP1Msg::verbose()&&!m_d->channel){
278 messageVerbose("WARNING channel() returning NULL");
279 }
280 assert(m_d->channel);
281 return m_d->channel;
282}
static bool verbose()
Definition VP1Msg.h:31

◆ checkboxChanged

void VP1SimHitSystem::checkboxChanged ( )
protectedslot

Definition at line 212 of file VP1SimHitSystem.cxx.

213{
214 // Get ChB pointer
215 QCheckBox* cb = dynamic_cast<QCheckBox*>(sender());
216 if(cb && m_clockwork->checkBoxNamesMap.contains(cb))
217 {
218 // Get detector name
219 QString detector = m_clockwork->checkBoxNamesMap[cb];
220 if(m_clockwork->switchMap.contains(detector))
221 {
222 // Get swtich
223 SoSwitch* sw = m_clockwork->switchMap[detector];
224 if(cb->isChecked()){
225 // Build subtree if necessary
226 if(!m_clockwork->hitsThisEvent.contains(detector))
227 buildHitTree(detector);
228 sw->whichChild = SO_SWITCH_ALL;
229 }
230 else
231 sw->whichChild = SO_SWITCH_NONE;
232 } else {
233 message("WARNING: Unknown detector:"+detector);
234 }
235 }
236}

◆ contact_info()

const QString & IVP1System::contact_info ( ) const
inherited

Definition at line 62 of file IVP1System.cxx.

63{
64 return m_d->contact_info;
65}

◆ controllerWidget()

QWidget * IVP1System::controllerWidget ( )
inherited

Definition at line 202 of file IVP1System.cxx.

202 {
203 if (VP1Msg::verbose()) {
204 messageVerbose("controllerWidget()");
205 messageVerbose("registerController m_d->state==ERASED = "+QString(m_d->state==ERASED?"true":"false"));
206 messageVerbose("registerController m_d->state==REFRESHED = "+QString(m_d->state==REFRESHED?"true":"false"));
207 }
208 assert(m_d->state==REFRESHED||m_d->state==ERASED);
209 return m_d->controller;
210 }

◆ create()

void IVP13DSystemSimple::create ( StoreGateSvc * detstore)
privatevirtualinherited

Implements IVP1System.

Definition at line 133 of file IVP13DSystemSimple.cxx.

134{
135 if(VP1Msg::verbose()){
136 messageVerbose("IVP13DSystemSimple create");
137 }
138 assert(!m_d->wasrefreshed);
139 assert(!m_d->wascreated);
140 ensureBuildController();//TODO: Move to refresh.
141 m_d->wascreated=true;
142 m_d->wasrefreshed=false;
143}

◆ deleteController()

void IVP1System::deleteController ( )
privateinherited

Definition at line 213 of file IVP1System.cxx.

214{
215 if (VP1Msg::verbose()){
216 messageVerbose("deleteController()");
217 }
218 if (m_d->controller)
219 m_d->controller->deleteLater();
220 m_d->controller = 0;
221}

◆ deselectAll()

void IVP13DSystem::deselectAll ( SoCooperativeSelection * exception_sel = 0)
virtualinherited

Reimplemented in VP1PrepRawDataSystem.

Definition at line 331 of file IVP13DSystem.cxx.

332{
333 static std::map<SoCooperativeSelection*,IVP13DSystem*>::iterator it, itE = Imp::selection2system.end();
334 for (it = Imp::selection2system.begin(); it!=itE;++it) {
335 if (it->second!=this)
336 continue;
337 if (it->first!=exception_sel) {
338 if (it->first->policy.getValue()!=SoCooperativeSelection::SINGLE) {
339 Imp::start_changeselection(this, it->first);
340 it->first->deselectAll();
341 Imp::finished_changeselection(this, it->first);
342 } else {
343 if (it->first->getList()->getLength()==1) {
344 Imp::start_changeselection(this, it->first);
345 SoPath * path = static_cast<SoPath*>(it->first->getList()->get(0));
346 Imp::made_deselection(it->first,path);
347 it->first->deselectAll();
348 Imp::finished_changeselection(this, it->first);
349 }
350 }
351 }
352 }
353}
static void start_changeselection(void *userdata, SoSelection *sel)
static void finished_changeselection(void *userdata, SoSelection *sel)
static std::map< SoCooperativeSelection *, IVP13DSystem * > selection2system
static void made_deselection(void *userdata, SoPath *path)
T * get(TKey *tobj)
get a TObject* from a TKey* (why can't a TObject be a TKey?)
Definition hcg.cxx:130
path
python interpreter configuration --------------------------------------—
Definition athena.py:128

◆ detectorStore()

StoreGateSvc * IVP1System::detectorStore ( ) const
inherited

Definition at line 318 of file IVP1System.cxx.

319{
321}
static StoreGateSvc * detectorStore()

◆ disallowUpdateGUI()

void IVP1System::disallowUpdateGUI ( )
privateinherited

Definition at line 250 of file IVP1System.cxx.

251{
252 m_d->allowupdategui=false;
253}

◆ ensureBuildController()

void IVP13DSystemSimple::ensureBuildController ( )
inherited

Definition at line 90 of file IVP13DSystemSimple.cxx.

91{
92 if (m_d->controllerBuilt)
93 return;
94 m_d->controllerBuilt=true;
95 if(VP1Msg::verbose()){
96 messageVerbose("IVP13DSystemSimple build controller");
97 }
98 QWidget * controller = buildController();
99 if (controller)
100 registerController(controller);
101 if(VP1Msg::verbose()){
102 messageVerbose("IVP13DSystemSimple controller was = "+str(controller));
103 }
104}
virtual QWidget * buildController()
void registerController(QWidget *)

◆ erase()

void IVP13DSystemSimple::erase ( )
privatevirtualinherited

Implements IVP1System.

Definition at line 173 of file IVP13DSystemSimple.cxx.

174{
175 if(VP1Msg::verbose()){
176 messageVerbose("IVP13DSystemSimple::erase() start");
177 }
178 assert(m_d->wascreated);
179 assert(m_d->wasrefreshed);
180
181 bool saveE = m_d->rootE->enableNotify(false);
182
183 systemerase();
184 if(VP1Msg::verbose()){
185 messageVerbose("IVP13DSystemSimple::erase() Removing all event objects from scene");
187 }
188 m_d->rootE->removeAllChildren();
189
190 if (saveE) {
191 m_d->rootE->enableNotify(true);
192 m_d->rootE->touch();
193 }
194
195 m_d->wasrefreshed=false;
196 if(VP1Msg::verbose()){
197 messageVerbose("IVP13DSystemSimple::erase() end");
198 }
199}
void warnOnDisabledNotifications() const

◆ eventStore()

StoreGateSvc * IVP1System::eventStore ( ) const
inherited

Definition at line 312 of file IVP1System.cxx.

313{
315}
static StoreGateSvc * eventStore()

◆ getCameraList()

std::set< SoCamera * > IVP13DSystem::getCameraList ( )
inherited

Definition at line 395 of file IVP13DSystem.cxx.

396{
397 std::set<SoCamera*> cameralist = m_d->staticcameras;
398 std::set<SoQtViewer*>::const_iterator it, itE=m_d->viewers.end();
399 for (it=m_d->viewers.begin();it!=itE;++it) {
400 SoCamera*cam = (*it)->getCamera();
401 if (cam)
402 cameralist.insert(cam);
403 }
404
405 //m_d->camerasfromviewer
406 return cameralist;
407}

◆ getSceneGraph()

SoSeparator * IVP13DSystemSimple::getSceneGraph ( ) const
privatevirtualinherited

Implements IVP13DSystem.

Definition at line 127 of file IVP13DSystemSimple.cxx.

128{
129 return static_cast<SoSeparator*>(m_d->root);
130}

◆ handleDetDescrElementHit()

void VP1SimHitSystem::handleDetDescrElementHit ( const CaloDetDescrElement * hitElement,
SoVertexProperty * hitVtxProperty,
unsigned int & hitCount )
private

Definition at line 564 of file VP1SimHitSystem.cxx.

565{
566 float x = hitElement->x();
567 float y = hitElement->y();
568 double z = hitElement->z();
569 hitVtxProperty->vertex.set1Value(hitCount++,x,y,z);
570}
#define y
#define x
#define z

◆ inactiveSystemTurnedActive

void IVP1System::inactiveSystemTurnedActive ( )
signalinherited

◆ information()

const QString & IVP1System::information ( ) const
inherited

Definition at line 56 of file IVP1System.cxx.

57{
58 return m_d->information;
59}

◆ isRefreshing()

bool IVP1System::isRefreshing ( )
privateinherited

Definition at line 108 of file IVP1System.cxx.

109{
110 return m_d->refreshing;
111}

◆ itemFromSystemSelected

void IVP13DSystem::itemFromSystemSelected ( )
signalinherited

◆ message() [1/3]

void IVP1System::message ( const QString & str) const
inherited

Definition at line 336 of file IVP1System.cxx.

337{
338 if (receivers(SIGNAL(sysmessage(QString))) > 0){
340 }
341 else{
342 std::cout<<VP1Msg::prefix_msg()<<" ["<<m_d->name.toStdString()<<"]: "<<str.toStdString()<<std::endl;
343 }
344}
void sysmessage(QString) const
static const char * prefix_msg()
Definition VP1Msg.h:56

◆ message() [2/3]

void IVP1System::message ( const QString & addtostart,
const QStringList & l,
const QString & addtoend = "" ) const
inherited

Definition at line 400 of file IVP1System.cxx.

401{
402 if (addtostart.isEmpty()) {
403 message(l,addtoend);
404 return;
405 }
406 if (addtoend.isEmpty()) {
407 for (const QString& s : l)
408 message(addtostart+s);
409 } else {
410 for (const QString& s : l)
411 message(addtostart+s+addtoend);
412 }
413}

◆ message() [3/3]

void IVP1System::message ( const QStringList & l,
const QString & addtoend = "" ) const
inherited

Definition at line 362 of file IVP1System.cxx.

363{
364 if (addtoend.isEmpty()) {
365 for (const QString& s : l)
366 message(s);
367 } else {
368 for (const QString& s : l)
369 message(s+addtoend);
370 }
371}

◆ messageDebug() [1/3]

void IVP1System::messageDebug ( const QString & str) const
inherited

Definition at line 347 of file IVP1System.cxx.

348{
349 if (VP1Msg::debug())
350 std::cout<<VP1Msg::prefix_debug()<<" ["<<m_d->name.toStdString()<<"]: "<<str.toStdString()<<std::endl;
351}
static bool debug()
Definition VP1Msg.h:32
static const char * prefix_debug()
Definition VP1Msg.h:57

◆ messageDebug() [2/3]

void IVP1System::messageDebug ( const QString & addtostart,
const QStringList & l,
const QString & addtoend = "" ) const
inherited

Definition at line 416 of file IVP1System.cxx.

417{
418 if (addtostart.isEmpty()) {
419 messageDebug(l,addtoend);
420 return;
421 }
422 if (addtoend.isEmpty()) {
423 for (const QString& s : l)
424 messageDebug(addtostart+s);
425 } else {
426 for (const QString& s : l)
427 messageDebug(addtostart+s+addtoend);
428 }
429}
void messageDebug(const QString &) const

◆ messageDebug() [3/3]

void IVP1System::messageDebug ( const QStringList & l,
const QString & addtoend = "" ) const
inherited

Definition at line 374 of file IVP1System.cxx.

375{
376 if (addtoend.isEmpty()) {
377 for (const QString& s : l)
378 messageDebug(s);
379 } else {
380 for (const QString& s : l)
381 messageDebug(s+addtoend);
382 }
383}

◆ messageVerbose() [1/3]

void IVP1System::messageVerbose ( const QString & str) const
inherited

Definition at line 354 of file IVP1System.cxx.

355{
356 if (VP1Msg::verbose())
357 std::cout<<VP1Msg::prefix_verbose()<<" ["<<m_d->name.toStdString()<<"]: "<<str.toStdString()<<std::endl;
358}
static const char * prefix_verbose()
Definition VP1Msg.h:59

◆ messageVerbose() [2/3]

void IVP1System::messageVerbose ( const QString & addtostart,
const QStringList & l,
const QString & addtoend = "" ) const
inherited

Definition at line 432 of file IVP1System.cxx.

433{
434 if (!VP1Msg::verbose())
435 return;
436 if (addtostart.isEmpty()) {
437 messageVerbose(l,addtoend);
438 return;
439 }
440 if (addtoend.isEmpty()) {
441 for (const QString& s : l)
442 messageVerbose(addtostart+s);
443 } else {
444 for (const QString& s : l)
445 messageVerbose(addtostart+s+addtoend);
446 }
447}

◆ messageVerbose() [3/3]

void IVP1System::messageVerbose ( const QStringList & l,
const QString & addtoend = "" ) const
inherited

Definition at line 386 of file IVP1System.cxx.

387{
388 if (!VP1Msg::verbose())
389 return;
390 if (addtoend.isEmpty()) {
391 for (const QString& s : l)
393 } else {
394 for (const QString& s : l)
395 messageVerbose(s+addtoend);
396 }
397}

◆ name()

const QString & IVP1System::name ( ) const
inherited

Definition at line 50 of file IVP1System.cxx.

51{
52 return m_d->name;
53}

◆ needErase

void IVP1System::needErase ( )
signalinherited

◆ refresh()

void IVP13DSystemSimple::refresh ( StoreGateSvc * storegate)
privatevirtualinherited

Implements IVP1System.

Definition at line 146 of file IVP13DSystemSimple.cxx.

147{
148 assert(m_d->wascreated);
149 assert(!m_d->wasrefreshed);
150
151 if (m_d->first) {
152 if(VP1Msg::verbose()){
153 messageVerbose("IVP13DSystemSimple first refresh - so calling create methods (i.e. delayed create).");
154 }
156 m_d->first = false;
157 m_d->root->removeChild(m_d->rootR);
159 m_d->root->addChild(m_d->rootR);
160 }
161
162 m_d->root->removeChild(m_d->rootE);
163 updateGUI();
164 buildEventSceneGraph(sg, m_d->rootE);
165 updateGUI();
166 m_d->root->addChild(m_d->rootE);
167
168 m_d->wasrefreshed=true;
169
170}
virtual void systemcreate(StoreGateSvc *detstore)
virtual void buildPermanentSceneGraph(StoreGateSvc *detstore, SoSeparator *root)
virtual void buildEventSceneGraph(StoreGateSvc *sg, SoSeparator *root)=0
StoreGateSvc * detectorStore() const

◆ registerCamera()

void IVP13DSystem::registerCamera ( SoCamera * camera)
inherited

Definition at line 410 of file IVP13DSystem.cxx.

410 {
411 if (!cam)
412 return;
413 m_d->staticcameras.insert(cam);
414 cam->ref();
415}

◆ registerController()

void IVP1System::registerController ( QWidget * w)
protectedinherited

Definition at line 224 of file IVP1System.cxx.

225{
226 if (VP1Msg::verbose()) {
227 messageVerbose("registerController ");
228 messageVerbose("registerController m_d->canregistercontroller = "+QString(m_d->canregistercontroller?"true":"false"));
229 messageVerbose("registerController m_d->state==CONSTRUCTED = "+QString(m_d->state==CONSTRUCTED?"true":"false"));
230 messageVerbose("registerController m_d->controller==0 = "+QString(m_d->controller==0?"true":"false"));
231 messageVerbose("registerController w!=0 = "+QString(w!=0?"true":"false"));
232 }
233 if (!m_d->canregistercontroller)
234 message("ERROR: Please don't register controllers after create().");
235 if (m_d->state!=CONSTRUCTED)
236 message("ERROR: Please only register controllers in CONSTRUCTED state.");
237 if (!w) {
238 message("ERROR: Attempt to register null controller.");
239 return;
240 }
241 if (m_d->controller) {
242 message("ERROR: Attempt to register controller twice.");
243 return;
244 }
245 m_d->controller = w;
246 w->setParent(0);
247}

◆ registerSelectionNode()

void IVP13DSystem::registerSelectionNode ( SoCooperativeSelection * selection)
inherited

Definition at line 257 of file IVP13DSystem.cxx.

258{
259 if (!selection) {
260 message("registerSelectionNode Error: NULL selection pointer!");
261 return;
262 }
264 message("registerSelectionNode Error: Trying to register selection node more than once!");
265 return;
266 }
267
268 selection->addSelectionCallback( Imp::made_selection, selection );
269 selection->addDeselectionCallback( Imp::made_deselection, selection );
270 selection->addStartCallback( Imp::start_changeselection, this );
271 selection->addFinishCallback( Imp::finished_changeselection, this );
272 selection->addClickOutsideCallback( Imp::clickedoutside, this );
273
275 selection->ref();
276
277 messageVerbose("selection node registered");
278}
static void clickedoutside(void *userdata, SoCooperativeSelection *sel)
static void made_selection(void *userdata, SoPath *path)
const std::string selection
std::string find(const std::string &s)
return a remapped string
Definition hcg.cxx:138

◆ registerViewer()

void IVP13DSystem::registerViewer ( SoQtViewer * viewer)
inherited

Definition at line 418 of file IVP13DSystem.cxx.

419{
420 if (!viewer)
421 return;
422 m_d->viewers.insert(viewer);
423}

◆ restoreFromState()

void IVP1System::restoreFromState ( QByteArray ba)
virtualinherited

Reimplemented in VP1AODSystem, VP1BanksSystem, VP1CaloCellSystem, VP1CaloClusterSystem, VP1CaloHitLegoSystem, VP1CaloLegoSystem, VP1CaloReadoutSystem, VP1ExtraInputSystem, VP1GeometrySystem, VP1GuideLineSystem, VP1HVLegoSystem, VP1MCSystem, VP1MissingEtSystem, VP1PartSpectSystem, VP1PrepRawDataSystem, VP1RawDataSystem, VP1TrackingGeometrySystem, VP1TrackSystem, and VP1VertexSystem.

Definition at line 302 of file IVP1System.cxx.

303{
304 if (VP1Msg::verbose()){
305 messageVerbose("base restoreFromState called");
306 }
307 if (!ba.isEmpty())
308 message("Error in IVP1System::restoreFromState: Received non-empty saved state.");
309}

◆ saveState()

◆ serviceLocator()

ISvcLocator * IVP1System::serviceLocator ( ) const
inherited

Definition at line 324 of file IVP1System.cxx.

325{
327}
static ISvcLocator * serviceLocator()

◆ setActiveState()

void IVP1System::setActiveState ( const ActiveState & s,
const bool & donttriggererase = true )
privateinherited

Definition at line 162 of file IVP1System.cxx.

163{
164 //First handle case where we dont actually change state. Only
165 //special consideration is OFF->OFF where we have to do something if
166 //we need to erase:
167 if (m_d->activeState==OFF&&s==OFF&&(m_d->state==REFRESHED||m_d->refreshing)&&!donttriggererase) {
168 needErase();
169 m_d->channel->emitRefreshInfoChanged();
170 return;
171 } else if (m_d->activeState==s) {
172 m_d->channel->emitRefreshInfoChanged();
173 return;
174 }
175
176 //Ok, we know that we are either ON->OFF or OFF->ON.
177 m_d->activeState = s;
178
179 if (s==ON) {
180 //OFF->ON: We might need a refresh, so send out a signal for the scheduler:
182 } else {
183 //ON->OFF: We might need an erase signal:
184 if ((m_d->state==REFRESHED||m_d->refreshing)&&!donttriggererase) {
185 needErase();
186 }
187 }
188 m_d->channel->emitRefreshInfoChanged();
189}
void inactiveSystemTurnedActive()
void needErase()

◆ setCanRegisterController()

void IVP1System::setCanRegisterController ( const bool & c)
privateinherited

Definition at line 285 of file IVP1System.cxx.

286{
287 if (VP1Msg::verbose()){
288 messageVerbose("setCanRegisterController called with"+QString(c?"true":"false"));
289 }
290 m_d->canregistercontroller=c;
291}

◆ setChannel()

void IVP1System::setChannel ( IVP1ChannelWidget * cw)
privateinherited

Definition at line 94 of file IVP1System.cxx.

95{
96 if (VP1Msg::verbose()) {
97 messageVerbose("setChannel ");
98 messageVerbose("setChannel m_d->state==CONSTRUCTED = "+QString(m_d->state==CONSTRUCTED?"true":"false"));
99 messageVerbose("setChannel cw!=0 = "+QString(cw!=0?"true":"false"));
100 }
101 assert(!m_d->channel);
102 assert(cw);
103 assert(m_d->state==CONSTRUCTED);
104 m_d->channel = cw;
105}

◆ setRefreshing()

void IVP1System::setRefreshing ( const bool & b)
privateinherited

Definition at line 114 of file IVP1System.cxx.

115{
116 if (VP1Msg::verbose()){
117 messageVerbose("setRefreshing() called with b="+QString(b?"true":"false"));
118 }
119 if (b) {
120 assert(m_d->state==ERASED);
121 } else {
122 assert(m_d->state==REFRESHED);
123 }
124 m_d->refreshing = b;
125}

◆ setState()

void IVP1System::setState ( const State & s)
privateinherited

Definition at line 141 of file IVP1System.cxx.

142{
143#ifndef NDEBUG
144 assert (m_d->state != s);
145 assert(s!=CONSTRUCTED);
146 if (s==REFRESHED) {
147 assert(m_d->state==ERASED);
148 }
149 if (s==ERASED) {
150 assert(m_d->state==REFRESHED||m_d->state==CONSTRUCTED);
151 }
152 if (s==UNCREATED) {
153 assert(m_d->state==ERASED);
154 }
155#endif
156 m_d->state = s;
157 if (s==REFRESHED||s==ERASED)
158 m_d->channel->emitRefreshInfoChanged();
159}

◆ setUserSelectionNotificationsEnabled()

void IVP13DSystem::setUserSelectionNotificationsEnabled ( SoCooperativeSelection * sel,
bool enabled )
inherited

Definition at line 310 of file IVP13DSystem.cxx.

311{
312 if (!selection) {
313 message("setUserSelectionNotificationsEnabled Error: NULL selection pointer!");
314 return;
315 }
317 message("setUserSelectionNotificationsEnabled Error: Called for selection which was never registered!");
318 return;
319 }
320 if (enabled != m_d->selectionsWithDisabledNotifications.contains(selection))
321 return;
322
323 if (enabled)
324 m_d->selectionsWithDisabledNotifications.remove(selection);
325 else
326 m_d->selectionsWithDisabledNotifications << selection;
327
328}

◆ state()

IVP1System::State IVP1System::state ( ) const
inherited

Definition at line 129 of file IVP1System.cxx.

130{
131 return m_d->state;
132}

◆ storeGate()

StoreGateSvc * IVP1System::storeGate ( ) const
inlineinherited

Definition at line 119 of file IVP1System.h.

119{ return eventStore(); }//OBSOLETE NAME. Use eventStore() instead.
StoreGateSvc * eventStore() const

◆ str() [1/30]

QString VP1String::str ( const Amg::Vector3D & t)
inlinestaticinherited

Definition at line 98 of file VP1String.h.

98{ return "("+str(t.x())+", "+str(t.y())+", "+str(t.z())+")"; }

◆ str() [2/30]

QString VP1String::str ( const bool b)
inlinestaticinherited

Definition at line 53 of file VP1String.h.

53{ return b?"True":"False"; }

◆ str() [3/30]

QString VP1String::str ( const char * c)
inlinestaticinherited

Definition at line 50 of file VP1String.h.

50{ return c; }

◆ str() [4/30]

QString VP1String::str ( const double & d)
inlinestaticinherited

Definition at line 81 of file VP1String.h.

81{ return QString::number(d); }

◆ str() [5/30]

QString VP1String::str ( const float & f)
inlinestaticinherited

Definition at line 82 of file VP1String.h.

82{ return QString::number(f); }

◆ str() [6/30]

template<class T>
QString VP1String::str ( const HepGeom::BasicVector3D< T > & t)
inlinestaticinherited

Definition at line 95 of file VP1String.h.

95{ return "("+str(t.x())+", "+str(t.y())+", "+str(t.z())+")"; }

◆ str() [7/30]

QString VP1String::str ( const QColor & c)
staticinherited

Definition at line 30 of file VP1String.cxx.

31{
32 return c.isValid() ? c.name() : "Invalid";
33}

◆ str() [8/30]

template<class T>
QString VP1String::str ( const QFlags< T > & f)
inlinestaticinherited

Definition at line 91 of file VP1String.h.

91{ return "0x"+QString::number(f, 16).toUpper().rightJustified(8,'0'); }

◆ str() [9/30]

template<class T>
QString VP1String::str ( const QList< T > & t)
inlinestaticinherited

Definition at line 102 of file VP1String.h.

102{ return "QList of size"+QString::number(t.size()); }

◆ str() [10/30]

QString VP1String::str ( const QString & s)
inlinestaticinherited

Definition at line 49 of file VP1String.h.

49{ return s; }

◆ str() [11/30]

QString VP1String::str ( const SbColor & c)
staticinherited

Definition at line 36 of file VP1String.cxx.

37{
39}
static QColor sbcol2qcol(const SbColor &)

◆ str() [12/30]

QString VP1String::str ( const SbVec2d & v)
staticinherited

Definition at line 61 of file VP1String.cxx.

61{ double x,y; v.getValue(x,y); return "("+str(x)+", "+str(y)+")"; }

◆ str() [13/30]

QString VP1String::str ( const SbVec2f & v)
staticinherited

Definition at line 62 of file VP1String.cxx.

62{ float x,y; v.getValue(x,y); return "("+str(x)+", "+str(y)+")"; }

◆ str() [14/30]

QString VP1String::str ( const SbVec2s & v)
staticinherited

Definition at line 63 of file VP1String.cxx.

63{ short x,y; v.getValue(x,y); return "("+str(x)+", "+str(y)+")"; }

◆ str() [15/30]

QString VP1String::str ( const SbVec3d & v)
staticinherited

Definition at line 64 of file VP1String.cxx.

64{ double x,y,z; v.getValue(x,y,z); return "("+str(x)+", "+str(y)+", "+str(z)+")"; }

◆ str() [16/30]

QString VP1String::str ( const SbVec3f & v)
staticinherited

Definition at line 65 of file VP1String.cxx.

65{ float x,y,z; v.getValue(x,y,z); return "("+str(x)+", "+str(y)+", "+str(z)+")"; }

◆ str() [17/30]

QString VP1String::str ( const SbVec3s & v)
staticinherited

Definition at line 66 of file VP1String.cxx.

66{ short x,y,z; v.getValue(x,y,z); return "("+str(x)+", "+str(y)+", "+str(z)+")"; }

◆ str() [18/30]

QString VP1String::str ( const SbVec4d & v)
staticinherited

Definition at line 67 of file VP1String.cxx.

67{ double x,y,z,t; v.getValue(x,y,z,t); return "("+str(x)+", "+str(y)+", "+str(z)+", "+str(t)+")"; }

◆ str() [19/30]

QString VP1String::str ( const SbVec4f & v)
staticinherited

Definition at line 68 of file VP1String.cxx.

68{ float x,y,z,t; v.getValue(x,y,z,t); return "("+str(x)+", "+str(y)+", "+str(z)+", "+str(t)+")"; }

◆ str() [20/30]

template<class T>
QString VP1String::str ( const T * t)
inlinestaticinherited

Definition at line 87 of file VP1String.h.

87{ return str(static_cast<const void* >(t)); }

◆ str() [21/30]

QString VP1String::str ( const void * p)
staticinherited

Definition at line 48 of file VP1String.cxx.

49{
50 if (p) {
51 std::ostringstream s;
52 s << p;
53 // Explicitly naming QString here avoids a cppcheck warning.
54 return QString (s.str().c_str());
55 } else {
56 return "NULL";
57 }
58}

◆ str() [22/30]

QString VP1String::str ( const VP1Interval & i)
staticinherited

Definition at line 42 of file VP1String.cxx.

43{
44 return i.toString();
45}

◆ str() [23/30]

QString VP1String::str ( int n)
inlinestaticinherited

Definition at line 77 of file VP1String.h.

77{ return QString::number(n); }

◆ str() [24/30]

QString VP1String::str ( long n)
inlinestaticinherited

Definition at line 75 of file VP1String.h.

75{ return QString::number(n); }

◆ str() [25/30]

QString VP1String::str ( qlonglong n)
inlinestaticinherited

Definition at line 79 of file VP1String.h.

79{ return QString::number(n); }

◆ str() [26/30]

QString VP1String::str ( qulonglong n)
inlinestaticinherited

Definition at line 80 of file VP1String.h.

80{ return QString::number(n); }

◆ str() [27/30]

QString VP1String::str ( short int n)
inlinestaticinherited

Definition at line 73 of file VP1String.h.

73{ return QString::number(n); }

◆ str() [28/30]

QString VP1String::str ( uint n)
inlinestaticinherited

Definition at line 78 of file VP1String.h.

78{ return QString::number(n); }

◆ str() [29/30]

QString VP1String::str ( ulong n)
inlinestaticinherited

Definition at line 76 of file VP1String.h.

76{ return QString::number(n); }

◆ str() [30/30]

QString VP1String::str ( unsigned short int n)
inlinestaticinherited

Definition at line 74 of file VP1String.h.

74{ return QString::number(n); }

◆ sysmessage

void IVP1System::sysmessage ( QString ) const
signalinherited

◆ systemcreate()

void VP1SimHitSystem::systemcreate ( StoreGateSvc * detstore)
virtual

Reimplemented from IVP13DSystemSimple.

Definition at line 129 of file VP1SimHitSystem.cxx.

130{
131 // Populate Color Map
132 m_clockwork->colorMap.insert("Pixel",SbColor(0,0,1));
133 m_clockwork->colorMap.insert("SCT",SbColor(1,1,1)); // white
134 m_clockwork->colorMap.insert("TRT",SbColor(1,0,0)); // red
135 m_clockwork->colorMap.insert("MDT",SbColor(.98,.8,.21));
136 m_clockwork->colorMap.insert("RPC",SbColor(0,.44,.28));
137 m_clockwork->colorMap.insert("TGC",SbColor(0,.631244,.748016));
138 m_clockwork->colorMap.insert("CSC",SbColor(.21,.64,1.));
139 m_clockwork->colorMap.insert("MM",SbColor(VP1ColorUtils::getSbColorFromRGB(28, 162, 230))); // Carolina Blue
140 m_clockwork->colorMap.insert("sTGC",SbColor(VP1ColorUtils::getSbColorFromRGB(255, 255, 255))); // White
141 m_clockwork->colorMap.insert("LArEMB",SbColor(VP1ColorUtils::getSbColorFromRGB(247, 187, 109))); // Mellow Apricot
142 m_clockwork->colorMap.insert("LArEMEC",SbColor(VP1ColorUtils::getSbColorFromRGB(230, 151, 48))); // Carrot Orange
143 m_clockwork->colorMap.insert("LArFCAL",SbColor(VP1ColorUtils::getSbColorFromRGB(212, 134, 32))); // Fulvous
144 m_clockwork->colorMap.insert("LArHEC",SbColor(VP1ColorUtils::getSbColorFromRGB(184, 114, 24))); // Copper
145 //m_clockwork->colorMap.insert("Tile",SbColor(VP1ColorUtils::getSbColorFromRGB(28, 162, 230))); // Carolina Blue --> Note: this is nice, but it disappears when superimposed to the azure Tile geometry default material
146 m_clockwork->colorMap.insert("Tile",SbColor(VP1ColorUtils::getSbColorFromRGB(164, 78, 207))); // Purple Plum
147 m_clockwork->colorMap.insert("Generic Muon",SbColor(.21,.64,1.));
148 m_clockwork->colorMap.insert("Forward Region",SbColor(.21,.64,1.));
149
150
151 // ------------- DD Managers and ID Helpers -------------
152 StatusCode status = detstore->retrieve(m_clockwork->tile_dd_man);
153 if(status.isFailure() || m_clockwork->tile_dd_man==nullptr) {
154 //m_clockwork->noCalo = true;
155 messageDebug("Unable to retrieve Tile DD Manager");
156 return;
157 }
158 m_clockwork->tile_id = m_clockwork->tile_dd_man->get_id();
159 if(m_clockwork->tile_id==nullptr) {
160 //m_clockwork->noCalo = true;
161 messageDebug("0 pointer to Tile ID Helper");
162 return;
163 }
164 status = detstore->retrieve(m_clockwork->trt_dd_man,"TRT");
165 if(status.isFailure() || m_clockwork->trt_dd_man==nullptr) {
166 messageDebug("Unable to retrieve TRT DD Manager");
167 return;
168 }
170}
std::unique_ptr< CaloDetDescrManager > buildCaloDetDescrNoAlign(ISvcLocator *svcLocator, IMessageSvc *msgSvc)
ISvcLocator * serviceLocator() const
static SbColor getSbColorFromRGB(const unsigned int r, const unsigned int g, const unsigned int b)
IMessageSvc * getMessageSvc(bool quiet=false)
::StatusCode StatusCode
StatusCode definition for legacy code.
status
Definition merge.py:16

◆ systemerase()

void IVP13DSystemSimple::systemerase ( )
virtualinherited

Reimplemented in VP1AODSystem, VP1CaloCellSystem, VP1CaloClusterSystem, VP1CaloHitLegoSystem, VP1CaloLegoSystem, VP1MissingEtSystem, VP1PrepRawDataSystem, VP1RawDataSystem, VP1TrackSystem, and VP1VertexSystem.

Definition at line 28 of file IVP13DSystemSimple.cxx.

29{
30 // messageVerbose("WARNING: Did not reimplement systemerase!");
31}

◆ systemuncreate()

void IVP13DSystemSimple::systemuncreate ( )
virtualinherited

◆ toolSvc()

IToolSvc * IVP1System::toolSvc ( ) const
inherited

Definition at line 330 of file IVP1System.cxx.

331{
332 return VP1AthenaPtrs::toolSvc();
333}
static IToolSvc * toolSvc()

◆ uncreate()

void IVP13DSystemSimple::uncreate ( )
privatevirtualinherited

Reimplemented from IVP1System.

Definition at line 202 of file IVP13DSystemSimple.cxx.

203{
204
205 if(VP1Msg::verbose()){
206 messageDebug("uncreate()...");
207 }
208
209 assert(m_d->wascreated);
210 assert(!m_d->wasrefreshed);
211 m_d->rootE->enableNotify(false);
212 m_d->rootR->enableNotify(false);
214 m_d->root->removeAllChildren();
215 m_d->rootE->removeAllChildren();
216 m_d->rootR->removeAllChildren();
217 m_d->wascreated=false;
218}
virtual void systemuncreate()

◆ unregisterSelectionNode()

void IVP13DSystem::unregisterSelectionNode ( SoCooperativeSelection * selection)
inherited

Definition at line 281 of file IVP13DSystem.cxx.

282{
283 if (!selection) {
284 message("unregisterSelectionNode Error: NULL selection pointer!");
285 return;
286 }
288 message("registerSelectionNode Error: Trying to unregister unknown selection node!");
289 return;
290 }
291
292 selection->removeSelectionCallback( Imp::made_selection, selection );
293 selection->removeDeselectionCallback( Imp::made_deselection, selection );
294 selection->removeStartCallback( Imp::start_changeselection, this );
295 selection->removeFinishCallback( Imp::finished_changeselection, this );
296 selection->removeClickOutsideCallback( Imp::clickedoutside, this );
297
299 if (m_d->selectionsWithDisabledNotifications.contains(selection))
300 m_d->selectionsWithDisabledNotifications.remove(selection);
301 selection->unref();
302
303 messageVerbose("selection node unregistered");
304
305}

◆ updateGUI()

void IVP13DSystemSimple::updateGUI ( )
inlineinherited

Definition at line 89 of file IVP13DSystemSimple.h.

◆ userChangedSelection()

void IVP13DSystem::userChangedSelection ( SoCooperativeSelection * ,
const QSet< SoNode * > & ,
QSet< SoPath * >  )
virtualinherited

◆ userClickedOnBgd()

void IVP13DSystem::userClickedOnBgd ( )
virtualinherited

Reimplemented in VP1AODSystem, VP1CaloReadoutSystem, VP1PrepRawDataSystem, and VP1TrackSystem.

Definition at line 62 of file IVP13DSystem.cxx.

62{}

◆ userDeselectedSingleNode()

void IVP13DSystem::userDeselectedSingleNode ( SoCooperativeSelection * ,
SoNode * ,
SoPath *  )
virtualinherited

Reimplemented in VP1AODSystem, VP1PrepRawDataSystem, and VP1TrackSystem.

Definition at line 60 of file IVP13DSystem.cxx.

60{}

◆ userPickedNode()

◆ userSelectedSingleNode()

void IVP13DSystem::userSelectedSingleNode ( SoCooperativeSelection * ,
SoNode * ,
SoPath *  )
virtualinherited

Reimplemented in VP1AODSystem, VP1PrepRawDataSystem, and VP1TrackSystem.

Definition at line 59 of file IVP13DSystem.cxx.

59{}

◆ verbose()

bool IVP1System::verbose ( )
inlinestaticinherited

Definition at line 86 of file IVP1System.h.

86{ return s_vp1verbose; }// Returns true if env var VP1_VERBOSE_OUTPUT=1
static const bool s_vp1verbose
Definition IVP1System.h:158

◆ warnOnDisabledNotifications()

void IVP13DSystemSimple::warnOnDisabledNotifications ( ) const
inherited

Definition at line 221 of file IVP13DSystemSimple.cxx.

222{
223 QList<SoNode*> nodesR;
224 QList<SoNode*> nodesE;
225 m_d->getNodesWithDisabledNotifications(m_d->rootR, nodesR);
226 m_d->getNodesWithDisabledNotifications(m_d->rootE, nodesE);
227 if (!nodesR.isEmpty()) {
228 message("WARNING: Found "+str(nodesR.count())+" node"+QString(nodesR.count()>1?"s":0)+" with disabled notifications in permanent scenegraph:");
229 for (SoNode * node : nodesR)
230 message(" => Node ("+str(node)+") of type "+QString(node->getTypeId().getName().getString())+", named "+QString(node->getName().getString()));
231 }
232 if (!nodesE.isEmpty()) {
233 message("WARNING: Found "+str(nodesE.count())+" node"+QString(nodesE.count()>1?"s":0)+" with disabled notifications in event scenegraph:");
234 for (SoNode * node : nodesE)
235 message(" => Node ("+str(node)+") of type "+QString(node->getTypeId().getName().getString())+", named "+QString(node->getName().getString()));
236 }
237}

Member Data Documentation

◆ m_clockwork

Clockwork* VP1SimHitSystem::m_clockwork
private

Definition at line 32 of file VP1SimHitSystem.h.

◆ m_d

Imp* IVP13DSystemSimple::m_d
privateinherited

Definition at line 80 of file IVP13DSystemSimple.h.

◆ s_vp1verbose

const bool IVP1System::s_vp1verbose = VP1QtUtils::environmentVariableIsOn("VP1_VERBOSE_OUTPUT")
staticprivateinherited

Definition at line 158 of file IVP1System.h.


The documentation for this class was generated from the following files: