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

#include <VP1CaloLegoSystem.h>

Inheritance diagram for VP1CaloLegoSystem:
Collaboration diagram for VP1CaloLegoSystem:

Classes

class  Clockwork

Public Types

enum  POSITION { FRONT , CENTER , BACK }
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

 VP1CaloLegoSystem ()
 ~VP1CaloLegoSystem ()
QWidget * buildController ()
void systemcreate (StoreGateSvc *detstore)
void systemuncreate ()
void systemerase ()
void buildPermanentSceneGraph (StoreGateSvc *detstore, SoSeparator *root)
void buildEventSceneGraph (StoreGateSvc *sg, SoSeparator *root)
void createEtaPhi ()
void userPickedNode (SoNode *pickedNode, SoPath *pickedPath)
QByteArray saveState ()
void restoreFromState (QByteArray ba)
void ensureBuildController ()
void updateGUI ()
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 ()
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

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 10 of file VP1CaloLegoSystem.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.

◆ POSITION

Enumerator
FRONT 
CENTER 
BACK 

Definition at line 18 of file VP1CaloLegoSystem.h.

◆ State

enum IVP1System::State
inherited
Enumerator
CONSTRUCTED 
REFRESHED 
ERASED 
UNCREATED 

Definition at line 143 of file IVP1System.h.

Constructor & Destructor Documentation

◆ VP1CaloLegoSystem()

VP1CaloLegoSystem::VP1CaloLegoSystem ( )

Definition at line 68 of file VP1CaloLegoSystem.cxx.

69 :IVP13DSystemSimple("CaloLego","Display the readout in an eta-phi view","boudreau@pitt.edu"),
71{
72 m_clockwork->dummyCubeSep = 0;
73 m_clockwork->root = 0;
74}
IVP13DSystemSimple(const QString &name, const QString &information, const QString &contact_info)

◆ ~VP1CaloLegoSystem()

VP1CaloLegoSystem::~VP1CaloLegoSystem ( )

Definition at line 76 of file VP1CaloLegoSystem.cxx.

77{
78 delete m_clockwork;
79 m_clockwork = 0;
80}

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 * VP1CaloLegoSystem::buildController ( )
virtual

Reimplemented from IVP13DSystemSimple.

Definition at line 82 of file VP1CaloLegoSystem.cxx.

83{
84 QWidget* controller = new QWidget(0);
85 Ui::frmCaloLegoController ui;
86 ui.setupUi(controller);
87
90 controller->setEnabled(false);
91 }
92
93 // Populate Check Box Names Map
94 m_clockwork->checkBoxNamesMap.insert(ui.chbxEMB0, "EMB0");
95 m_clockwork->checkBoxNamesMap.insert(ui.chbxEMB1, "EMB1");
96 m_clockwork->checkBoxNamesMap.insert(ui.chbxEMB2, "EMB2");
97 m_clockwork->checkBoxNamesMap.insert(ui.chbxEMB3, "EMB3");
98 m_clockwork->checkBoxNamesMap.insert(ui.chbxEMEC0,"EMEC0");
99 m_clockwork->checkBoxNamesMap.insert(ui.chbxEMEC1,"EMEC1");
100 m_clockwork->checkBoxNamesMap.insert(ui.chbxEMEC2,"EMEC2");
101 m_clockwork->checkBoxNamesMap.insert(ui.chbxEMEC3,"EMEC3");
102 m_clockwork->checkBoxNamesMap.insert(ui.chbxHEC0, "HEC0");
103 m_clockwork->checkBoxNamesMap.insert(ui.chbxHEC1, "HEC1");
104 m_clockwork->checkBoxNamesMap.insert(ui.chbxHEC2, "HEC2");
105 m_clockwork->checkBoxNamesMap.insert(ui.chbxHEC3, "HEC3");
106
107 // Populate Check Box Map and connect slots
108 for(QCheckBox* cb : m_clockwork->checkBoxNamesMap.keys())
109 {
110 connect(cb,SIGNAL(toggled(bool)),this,SLOT(checkboxChanged()));
111 m_clockwork->checkBoxMap.insert(m_clockwork->checkBoxNamesMap[cb],cb);
112 }
113
114 return controller;
115}
static bool hasTileGeometry()
static bool hasLArGeometry()
static void ensureInit(IVP1System *)

◆ buildEventSceneGraph()

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

Implements IVP13DSystemSimple.

Definition at line 453 of file VP1CaloLegoSystem.cxx.

454{
455}

◆ buildExtraDisplayWidget()

virtual QWidget * IVP13DSystem::buildExtraDisplayWidget ( )
inlinevirtualinherited

Definition at line 106 of file IVP13DSystem.h.

106{ return 0; }

◆ buildPermanentSceneGraph()

void VP1CaloLegoSystem::buildPermanentSceneGraph ( StoreGateSvc * detstore,
SoSeparator * root )
virtual

Reimplemented from IVP13DSystemSimple.

Definition at line 121 of file VP1CaloLegoSystem.cxx.

121 {
122
125 return;
126
127 m_clockwork->root = root;
128
129 for (int i=0;i<3;i++) {
130 m_clockwork->fcalSwitch[i] = new SoSwitch();
131 root->addChild(m_clockwork->fcalSwitch[i]);
132 }
133
134 //We add a fully transparent dummy cube in order to get proper
135 //initial view (after first event we remove it again):
136 SoSeparator * dummyCubeSep = new SoSeparator;
137 dummyCubeSep->ref();
138 SoMaterial * dummyMat = new SoMaterial;
139 dummyMat->transparency = 1.0f;
140 SoTranslation * dummyTransl = new SoTranslation;
141 dummyTransl->translation.setValue(SbVec3f(0,3.15,0));
142 SoCube * dummyCube = new SoCube;
143 dummyCube->width = 6.7;
144 dummyCube->height = 6.3;
145 dummyCube->depth = 0.1;
146 dummyCubeSep->addChild(dummyMat);
147 dummyCubeSep->addChild(dummyTransl);
148 dummyCubeSep->addChild(dummyCube);
149 root->addChild(dummyCubeSep);
150
151 for (int i=0;i<4;i++) {
152 m_clockwork->embSwitch[i] = new SoSwitch();
153 root->addChild(m_clockwork->embSwitch[i]);
154
155 m_clockwork->emecSwitch[i] = new SoSwitch();
156 root->addChild(m_clockwork->emecSwitch[i]);
157
158 m_clockwork->hecSwitch[i] = new SoSwitch();
159 root->addChild(m_clockwork->hecSwitch[i]);
160 }
161 m_clockwork->switchMap["EMB0"] = m_clockwork->embSwitch[0];
162 m_clockwork->switchMap["EMB1"] = m_clockwork->embSwitch[1];
163 m_clockwork->switchMap["EMB2"] = m_clockwork->embSwitch[2];
164 m_clockwork->switchMap["EMB3"] = m_clockwork->embSwitch[3];
165
166 m_clockwork->switchMap["EMEC0"] = m_clockwork->emecSwitch[0];
167 m_clockwork->switchMap["EMEC1"] = m_clockwork->emecSwitch[1];
168 m_clockwork->switchMap["EMEC2"] = m_clockwork->emecSwitch[2];
169 m_clockwork->switchMap["EMEC3"] = m_clockwork->emecSwitch[3];
170
171 m_clockwork->switchMap["HEC0"] = m_clockwork->hecSwitch[0];
172 m_clockwork->switchMap["HEC1"] = m_clockwork->hecSwitch[1];
173 m_clockwork->switchMap["HEC2"] = m_clockwork->hecSwitch[2];
174 m_clockwork->switchMap["HEC3"] = m_clockwork->hecSwitch[3];
175
176 createEtaPhi();
177
178}

◆ 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}
void messageVerbose(const QString &) const
static bool verbose()
Definition VP1Msg.h:31

◆ checkboxChanged

void VP1CaloLegoSystem::checkboxChanged ( )
protectedslot

Definition at line 457 of file VP1CaloLegoSystem.cxx.

458{
460 return;
461
462 // Get ChB pointer
463 QCheckBox* cb = dynamic_cast<QCheckBox*>(sender());
464 if(cb && m_clockwork->checkBoxNamesMap.contains(cb))
465 {
466 // Get technology name
467 QString swName = m_clockwork->checkBoxNamesMap[cb];
468
469 if(m_clockwork->switchMap.contains(swName))
470 {
471 // Get switch
472 SoSwitch* sw = m_clockwork->switchMap[swName];
473 if(cb->isChecked())
474 {
475 sw->whichChild = SO_SWITCH_ALL;
476 }
477 else
478 sw->whichChild = SO_SWITCH_NONE;
479 }
480 }
481}

◆ 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}

◆ createEtaPhi()

void VP1CaloLegoSystem::createEtaPhi ( )

Definition at line 217 of file VP1CaloLegoSystem.cxx.

217 {
218
219 // Styles & cet:
220 SoDrawStyle *drawStyle = new SoDrawStyle();
221 drawStyle->lineWidth=1;
222 SoLightModel *lm = new SoLightModel();
223 lm->model=SoLightModel::BASE_COLOR;
224
225 SoMaterial *blue= new SoMaterial();
226 blue->diffuseColor.setValue(0,0,1);
227
228 SoMaterial *green= new SoMaterial();
229 green->diffuseColor.setValue(0 , 1, 0);
230
231 SoMaterial *yellow= new SoMaterial();
232 yellow->diffuseColor.setValue(0, 1.00, 1.00);
233
234 SoMaterial *magenta = new SoMaterial();
235 magenta->diffuseColor.setValue(1.00,0.00, 1.00);
236
237 for (int i=0;i<4;i++) {
238 if (i<3) {
239 m_clockwork->fcalSwitch[i]->addChild(drawStyle);
240 m_clockwork->fcalSwitch[i]->addChild(lm);
241 m_clockwork->fcalSwitch[i]->addChild(green);
242 }
243 m_clockwork->embSwitch[i]->addChild(drawStyle);
244 m_clockwork->emecSwitch[i]->addChild(drawStyle);
245 m_clockwork->hecSwitch[i]->addChild(drawStyle);
246 m_clockwork->embSwitch[i]->addChild(lm);
247 m_clockwork->emecSwitch[i]->addChild(lm);
248 m_clockwork->hecSwitch[i]->addChild(lm);
249 m_clockwork->embSwitch[i]->addChild(blue);
250 m_clockwork->emecSwitch[i]->addChild(magenta);
251 m_clockwork->hecSwitch[i]->addChild(yellow);
252 }
253
255
256 {
257 const FCALDetectorManager * manager=VP1DetInfo::fcalDetMgr();
258
259 if (manager) {
261 for (e=manager->beginFCAL();e!=manager->endFCAL(); ++e) {
262
263 const FCALModule *fcalMod = *e;
264 SoSeparator *sep1 = new SoSeparator();
265 VP1ExtraSepLayerHelper *sep = new VP1ExtraSepLayerHelper(sep1);
266
268 for (t=fcalMod->beginTiles();t!=fcalMod->endTiles();++t) {
269 double x = t->getX();
270 double y = t->getY();
271 double dx = fcalMod->getFullWidthX(*t)/2.0;
272 double dy = fcalMod->getFullWidthY(*t)/2.0;
273// double zf = fcalMod->getEndcapIndex()== 0 ? +fcalMod->getFullDepthZ(*t)/2.0 : -fcalMod->getFullDepthZ(*t)/2.0;
274// double zc = 0;
275// double zb = fcalMod->getEndcapIndex()== 0 ? -fcalMod->getFullDepthZ(*t)/2.0 : +fcalMod->getFullDepthZ(*t)/2.0;
276
277 int cc=0;
278 SoVertexProperty *vtxProperty = new SoVertexProperty();
279 vtxProperty->vertex.set1Value(cc++, SbVec3f(x-dx+3,y-dy+3 ,0));
280 vtxProperty->vertex.set1Value(cc++, SbVec3f(x+dx-3,y-dy+3, 0));
281 vtxProperty->vertex.set1Value(cc++, SbVec3f(x+dx-3,y+dy-3 ,0));
282 vtxProperty->vertex.set1Value(cc++, SbVec3f(x-dx+3,y+dy-3 ,0));
283 vtxProperty->vertex.set1Value(cc++, SbVec3f(x-dx+3,y-dy+3 ,0));
284
285 SoLineSet *ls = new SoLineSet();
286 ls->numVertices=5;
287 ls->vertexProperty=vtxProperty;
288 sep->addNode(ls);
289
290 m_clockwork->TileMap[ls]=&(*t);
291 }
292 int sp = fcalMod->getModuleIndex()-1;
293 m_clockwork->fcalSwitch[sp]->addChild(sep1);
294
295 }
296 }
297 }
298
299 {
300 const HECDetectorManager * manager=VP1DetInfo::hecDetMgr();
301
302 if (manager) {
303
305 for (e=manager->beginDetectorRegion();e!=manager->endDetectorRegion(); ++e) {
306
307 const HECDetectorRegion *region=*e;
308 SoSeparator *sep1 = new SoSeparator();
309 VP1ExtraSepLayerHelper *sep = new VP1ExtraSepLayerHelper(sep1);
310
311 for (unsigned int iPhi=region->beginPhiIndex();iPhi<region->endPhiIndex();iPhi++) {
312 for (unsigned int iEta=region->beginEtaIndex();iEta<region->endEtaIndex();iEta++) {
313 HECCellConstLink cellPtr = region->getHECCell(iEta,iPhi);
314 if (cellPtr) {
315
316 double phiMin = cellPtr->getPhiLocalLower();
317 double phiMax = cellPtr->getPhiLocalUpper();
318 double etaMin = cellPtr->getEtaMinNominal();
319 double etaMax = cellPtr->getEtaMaxNominal();
320
321 if (region->getEndcapIndex()==0) {
322 phiMin = M_PI-phiMin;
323 phiMax = M_PI-phiMax;
324 etaMin = -etaMin;
325 etaMax = -etaMax;
326 }
327
328 int cc=0;
329 SoVertexProperty *vtxProperty = new SoVertexProperty();
330 vtxProperty->vertex.set1Value(cc++, SbVec3f(etaMin,phiMin ,0));
331 vtxProperty->vertex.set1Value(cc++, SbVec3f(etaMin,phiMax ,0));
332 vtxProperty->vertex.set1Value(cc++, SbVec3f(etaMax,phiMax ,0));
333 vtxProperty->vertex.set1Value(cc++, SbVec3f(etaMax,phiMin ,0));
334 vtxProperty->vertex.set1Value(cc++, SbVec3f(etaMin,phiMin ,0));
335
336 SoLineSet *ls = new SoLineSet();
337 ls->numVertices=5;
338 ls->vertexProperty=vtxProperty;
339 sep->addNode(ls);
340
341 m_clockwork->HECMap[ls]=cellPtr;
342 }
343 }
344 }
345 m_clockwork->hecSwitch[region->getSamplingIndex()]->addChild(sep1);
346 }
347 }
348 }
349
350
351 {
352 const EMECDetectorManager * manager=VP1DetInfo::emecDetMgr();
353
354 if (manager) {
355
357 for (e=manager->beginDetectorRegion();e!=manager->endDetectorRegion(); ++e) {
358 const EMECDetectorRegion *region = *e;
359
360 // Then grid:
361
362
363 SoSeparator *sep1 = new SoSeparator();
364 VP1ExtraSepLayerHelper *sep = new VP1ExtraSepLayerHelper(sep1);
365
366
367 for (unsigned int iPhi=region->beginPhiIndex();iPhi<region->endPhiIndex();iPhi++) {
368 for (unsigned int iEta=region->beginEtaIndex();iEta<region->endEtaIndex();iEta++) {
369
370
371
372 EMECCellConstLink cellPtr = (static_cast<const EMECDetectorRegion *> (region))->getEMECCell(iEta,iPhi);
373 double phiMin = cellPtr->getPhiLocalLower();
374 double phiMax = cellPtr->getPhiLocalUpper();
375 double etaMin = cellPtr->getEtaMin();
376 double etaMax = cellPtr->getEtaMax();
377
378 if (region->getEndcapIndex()==0) {
379 phiMin = M_PI-phiMin;
380 phiMax = M_PI-phiMax;
381 etaMin = -etaMin;
382 etaMax = -etaMax;
383 }
384
385 int cc=0;
386 SoVertexProperty *vtxProperty = new SoVertexProperty();
387 vtxProperty->vertex.set1Value(cc++, SbVec3f(etaMin,phiMin ,0));
388 vtxProperty->vertex.set1Value(cc++, SbVec3f(etaMin,phiMax ,0));
389 vtxProperty->vertex.set1Value(cc++, SbVec3f(etaMax,phiMax ,0));
390 vtxProperty->vertex.set1Value(cc++, SbVec3f(etaMax,phiMin ,0));
391 vtxProperty->vertex.set1Value(cc++, SbVec3f(etaMin,phiMin ,0));
392
393 SoLineSet *ls = new SoLineSet();
394 ls->numVertices=5;
395 ls->vertexProperty=vtxProperty;
396 sep->addNode(ls);
397 m_clockwork->EMECMap[ls]=cellPtr;
398 }
399 }
400 m_clockwork->emecSwitch[region->getSamplingIndex()]->addChild(sep1);
401 }
402 }
403 }
404 {
405 const EMBDetectorManager * manager=VP1DetInfo::embDetMgr();
406
407 if (manager) {
408
410 for (e=manager->beginDetectorRegion();e!=manager->endDetectorRegion(); ++e) {
411 const EMBDetectorRegion *region = *e;
412 SoSeparator *sep1 = new SoSeparator();
413 VP1ExtraSepLayerHelper *sep = new VP1ExtraSepLayerHelper(sep1);
414
415 for (unsigned int iPhi=region->beginPhiIndex();iPhi<region->endPhiIndex();iPhi++) {
416 for (unsigned int iEta=region->beginEtaIndex();iEta<region->endEtaIndex();iEta++) {
417
418
419 EMBCellConstLink cellPtr = (static_cast<const EMBDetectorRegion *> (region))->getEMBCell(iEta,iPhi);
420 double phiMin = cellPtr->getPhiLocalLower();
421 double phiMax = cellPtr->getPhiLocalUpper();
422 double etaMin = cellPtr->getEtaMin();
423 double etaMax = cellPtr->getEtaMax();
424
425 if (region->getEndcapIndex()==0) {
426 phiMin = M_PI-phiMin;
427 phiMax = M_PI-phiMax;
428 etaMin = -etaMin;
429 etaMax = -etaMax;
430 }
431
432 int cc=0;
433 SoVertexProperty *vtxProperty = new SoVertexProperty();
434 vtxProperty->vertex.set1Value(cc++, SbVec3f(etaMin,phiMin ,0));
435 vtxProperty->vertex.set1Value(cc++, SbVec3f(etaMin,phiMax ,0));
436 vtxProperty->vertex.set1Value(cc++, SbVec3f(etaMax,phiMax ,0));
437 vtxProperty->vertex.set1Value(cc++, SbVec3f(etaMax,phiMin ,0));
438 vtxProperty->vertex.set1Value(cc++, SbVec3f(etaMin,phiMin ,0));
439
440 SoLineSet *ls = new SoLineSet();
441 ls->numVertices=5;
442 ls->vertexProperty=vtxProperty;
443 sep->addNode(ls);
444 m_clockwork->EMBMap[ls]=cellPtr;
445 }
446 }
447 m_clockwork->embSwitch[region->getSamplingIndex()]->addChild(sep1);
448 }
449 }
450 }
451}
#define M_PI
static Double_t sp
#define y
#define x
std::vector< constEMBDetectorRegion * >::const_iterator DetectorRegionConstIterator
unsigned int beginPhiIndex() const
Returns the first phi index in the region.
unsigned int getSamplingIndex() const
Returns the Sampling Layer Index.
EMBDetectorRegion::DetectorSide getEndcapIndex() const
The endcap index.
unsigned int beginEtaIndex() const
Returns the first eta index in the region.
std::vector< constEMECDetectorRegion * >::const_iterator DetectorRegionConstIterator
unsigned int beginPhiIndex() const
returns the first phi index in the region.
EMECDetectorRegion::DetectorSide getEndcapIndex() const
The endcap index.
unsigned int getSamplingIndex() const
Returns the Sampling Layer Index.
unsigned int beginEtaIndex() const
returns the first eta index in the region.
std::vector< constFCALModule * >::const_iterator ConstIterator
double getFullWidthY(const FCALTile &tile) const
Gets Tile Full Width in Y.
double getFullWidthX(const FCALTile &tile) const
Gets Tile Full Width in X.
std::vector< FCALTile >::const_iterator ConstIterator
Definition FCALModule.h:36
FCALModule::ConstIterator beginTiles() const
Iteration over FCAL Tiles.
FCALModule::Module getModuleIndex() const
Returns the Module (1,2, or 3)
FCALModule::ConstIterator endTiles() const
Iteration over FCAL Tiles.
std::vector< constHECDetectorRegion * >::const_iterator DetectorRegionConstIterator
HECCellConstLink getHECCell(unsigned int ieta, unsigned int iphi) const
Retrieve a cell with eta index and phi index.
unsigned int beginPhiIndex() const
returns the first phi index in the region.
unsigned int getSamplingIndex() const
Returns the Sampling Layer Index (0-3)
unsigned int beginEtaIndex() const
returns the first eta index in the region.
HECDetectorRegion::DetectorSide getEndcapIndex() const
The endcap index.
static const FCALDetectorManager * fcalDetMgr()
static const EMECDetectorManager * emecDetMgr()
static void ensureInit(IVP1System *)
Definition VP1DetInfo.h:49
static const EMBDetectorManager * embDetMgr()
static const HECDetectorManager * hecDetMgr()
@ iPhi
Definition ParamDefs.h:47
ls(path, longls=False)
Definition DiskUtils.py:111
setScale setgFexType iEta

◆ 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 *)
static QString str(const QString &s)
Definition VP1String.h:49

◆ 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}

◆ 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}
void message(const QString &) const

◆ 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 VP1CaloLegoSystem::restoreFromState ( QByteArray ba)
virtual

Reimplemented from IVP1System.

Definition at line 508 of file VP1CaloLegoSystem.cxx.

509{
510 VP1Deserialise state(ba,this);
511 if (state.version()==0) {
512 message("Warning: State data in .vp1 file has obsolete format - ignoring!");
513 return;
514 }
515 if (state.version()!=1) {
516 message("Warning: State data in .vp1 file is in wrong format - ignoring!");
517 return;
518 }
521
522 //Checkboxes (by name for greater stability in case we change content of map):
523 QMap<QString,bool> checkboxstate(state.restore<QMap<QString,bool> >());
524 QMapIterator<QString,QCheckBox*> it(m_clockwork->checkBoxMap);
525 while (it.hasNext()) {
526 it.next();
527 state.widgetHandled(it.value());
528 if (checkboxstate.contains(it.key())) {
529 bool checked = checkboxstate.value(it.key());
530 if (it.value()->isChecked()!=checked)
531 it.value()->setChecked(checked);
532 }
533 }
534
535 state.warnUnrestored(controllerWidget());
536}
virtual void restoreFromState(QByteArray)
State state() const
QWidget * controllerWidget()

◆ saveState()

QByteArray VP1CaloLegoSystem::saveState ( )
virtual

Reimplemented from IVP1System.

Definition at line 488 of file VP1CaloLegoSystem.cxx.

489{
491 VP1Serialise serialise(1/*version*/,this);
493
494 //Checkboxes (by name for greater stability in case we change content of map):
495 QMapIterator<QString,QCheckBox*> it(m_clockwork->checkBoxMap);
496 QMap<QString,bool> checkboxstate;
497 while (it.hasNext()) {
498 it.next();
499 checkboxstate.insert(it.key(),it.value()->isChecked());
500 serialise.widgetHandled(it.value());
501 }
502 serialise.save(checkboxstate);
503
504 serialise.warnUnsaved(controllerWidget());
505 return serialise.result();
506}
virtual QByteArray saveState()
void serialise(const std::vector< const IRoiDescriptor * > &rois, roiserial_type &s)
serialise an entire vector of IRoiDescriptors

◆ 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)+")"; }
#define 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 VP1CaloLegoSystem::systemcreate ( StoreGateSvc * detstore)
virtual

Reimplemented from IVP13DSystemSimple.

Definition at line 117 of file VP1CaloLegoSystem.cxx.

118{
119}

◆ systemerase()

void VP1CaloLegoSystem::systemerase ( )
virtual

Reimplemented from IVP13DSystemSimple.

Definition at line 180 of file VP1CaloLegoSystem.cxx.

181{
182 if (m_clockwork->dummyCubeSep) {
183 if (m_clockwork->root->findChild(m_clockwork->dummyCubeSep)>=0)
184 m_clockwork->root->removeChild(m_clockwork->dummyCubeSep);
185 m_clockwork->dummyCubeSep->unref();
186 m_clockwork->dummyCubeSep = 0;
187 }
188
189}

◆ systemuncreate()

void VP1CaloLegoSystem::systemuncreate ( )
virtual

Reimplemented from IVP13DSystemSimple.

Definition at line 191 of file VP1CaloLegoSystem.cxx.

192{
194 return;
195
196 m_clockwork->root->enableNotify(false);
197 for (int i=0;i<4;i++) {
198 if (i<3) {
199 m_clockwork->fcalSwitch[i]->enableNotify(false);
200 m_clockwork->fcalSwitch[i]->removeAllChildren();
201 }
202 m_clockwork->embSwitch[i]->enableNotify(false);
203 m_clockwork->emecSwitch[i]->enableNotify(false);
204 m_clockwork->hecSwitch[i]->enableNotify(false);
205 m_clockwork->embSwitch[i]->removeAllChildren();
206 m_clockwork->emecSwitch[i]->removeAllChildren();
207 m_clockwork->hecSwitch[i]->removeAllChildren();
208 }
209
210 m_clockwork->TileMap.clear();
211 m_clockwork->HECMap.clear();
212 m_clockwork->EMECMap.clear();
213 m_clockwork->EMBMap.clear();
214 m_clockwork->root->removeAllChildren();
215}

◆ 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()

void VP1CaloLegoSystem::userPickedNode ( SoNode * pickedNode,
SoPath * pickedPath )
virtual

Reimplemented from IVP13DSystemSimple.

Definition at line 484 of file VP1CaloLegoSystem.cxx.

485{
486}

◆ 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* VP1CaloLegoSystem::m_clockwork
private

Definition at line 44 of file VP1CaloLegoSystem.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: