 |
ATLAS Offline Software
|
#include <VP1GeometrySystem.h>
|
| VP1GeometrySystem (const VP1GeoFlags::SubSystemFlags &SubSystemsTurnedOn=VP1GeoFlags::None, const QString &name="Geo") |
|
virtual | ~VP1GeometrySystem () |
|
void | setGeometrySelectable (bool) |
|
void | setZoomToVolumeOnClick (bool) |
|
void | setOrientViewToMuonChambersOnClick (bool) |
|
void | setAutoAdaptMuonChambersToEventData (bool) |
|
QWidget * | buildController () |
|
void | systemcreate (StoreGateSvc *detstore) |
|
void | buildPermanentSceneGraph (StoreGateSvc *detstore, SoSeparator *root) |
|
void | buildEventSceneGraph (StoreGateSvc *, SoSeparator *) |
|
void | userPickedNode (SoNode *pickedNode, SoPath *pickedPath) |
|
void | systemuncreate () |
|
QByteArray | saveState () |
|
void | restoreFromState (QByteArray) |
|
void | enableMuonChamberLabels (bool, bool) |
| first is t0s, 2nd is hits More...
|
|
void | ensureBuildController () |
|
void | updateGUI () |
|
virtual void | systemerase () |
|
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 |
|
StoreGateSvc * | storeGate () const |
|
StoreGateSvc * | eventStore () const |
|
StoreGateSvc * | detectorStore () const |
|
ISvcLocator * | serviceLocator () const |
|
IToolSvc * | toolSvc () const |
|
State | state () const |
|
ActiveState | activeState () const |
|
|
void | checkboxChanged () |
|
void | updateTransparency () |
|
void | adaptMuonChambersToEventData () |
|
void | adaptMuonChambersStyleChanged () |
|
void | emit_appropriateMDTProjectionsChanged () |
|
void | autoAdaptPixelsOrSCT (bool, bool, bool, bool, bool, bool) |
|
void | autoAdaptMuonNSW (bool reset, bool stgc, bool mm, bool passiveSpacer, bool passiveStructure, bool passiveAPlate) |
|
void | resetSubSystems (VP1GeoFlags::SubSystemFlags) |
|
void | autoExpandByVolumeOrMaterialName (bool, const QString &) |
|
void | autoIconifyByVolumeOrMaterialName (bool, const QString &) |
|
void | actionOnAllNonStandardVolumes (bool) |
|
void | volumeStateChangeRequested (VolumeHandle *, VP1GeoFlags::VOLSTATE) |
|
void | volumeResetRequested (VolumeHandle *) |
|
void | setShowVolumeOutLines (bool) |
|
void | saveMaterialsToFile (const QString &, bool) |
|
void | loadMaterialsFromFile (const QString &) |
|
void | setLabels (int) |
|
void | setLabelPosOffsets (const QList< int > &) |
|
Definition at line 33 of file VP1GeometrySystem.h.
◆ CamList
◆ CamListItr
◆ ActiveState
◆ State
Enumerator |
---|
CONSTRUCTED | |
REFRESHED | |
ERASED | |
UNCREATED | |
Definition at line 143 of file IVP1System.h.
◆ VP1GeometrySystem()
VP1GeometrySystem::VP1GeometrySystem |
( |
const VP1GeoFlags::SubSystemFlags & |
SubSystemsTurnedOn = VP1GeoFlags::None , |
|
|
const QString & |
name = "Geo" |
|
) |
| |
Definition at line 303 of file VP1GeometrySystem.cxx.
305 "This system displays the geometry as defined in the GeoModel tree.",
306 "Riccardo.Maria.Bianchi@cern.ch"),
307 m_d(
new Imp(
this,SubSystemsTurnedOn))
◆ ~VP1GeometrySystem()
VP1GeometrySystem::~VP1GeometrySystem |
( |
| ) |
|
|
virtual |
◆ actionOnAllNonStandardVolumes
void VP1GeometrySystem::actionOnAllNonStandardVolumes |
( |
bool |
zap | ) |
|
|
protectedslot |
Definition at line 2027 of file VP1GeometrySystem.cxx.
2032 std::vector<std::pair<VolumeHandle::VolumeHandleListItr,VolumeHandle::VolumeHandleListItr> > roothandles;
2041 for (
unsigned i = 0;
i<roothandles.size();++
i) {
2042 it = roothandles.at(
i).first;
2043 itE = roothandles.at(
i).second;
◆ activateClickedOutside
void IVP13DSystem::activateClickedOutside |
( |
| ) |
|
|
privateslotinherited |
◆ activeState()
◆ adaptMuonChambersStyleChanged
void VP1GeometrySystem::adaptMuonChambersStyleChanged |
( |
| ) |
|
|
protectedslot |
◆ adaptMuonChambersToEventData
void VP1GeometrySystem::adaptMuonChambersToEventData |
( |
| ) |
|
|
protectedslot |
Definition at line 1539 of file VP1GeometrySystem.cxx.
1544 std::set<GeoPVConstLink> allchambers;
1549 allchambers.insert(itLists->second.begin(),itLists->second.end());
1561 if (allchambers.find(
it->first)==itchambersE)
1564 if (
it->second->muonChamberDirty())
◆ allowUpdateGUI()
void IVP1System::allowUpdateGUI |
( |
| ) |
|
|
privateinherited |
◆ appropriateMDTProjectionsChanged
void VP1GeometrySystem::appropriateMDTProjectionsChanged |
( |
int |
| ) |
|
|
signal |
◆ autoAdaptMuonNSW
void VP1GeometrySystem::autoAdaptMuonNSW |
( |
bool |
reset, |
|
|
bool |
stgc, |
|
|
bool |
mm, |
|
|
bool |
passiveSpacer, |
|
|
bool |
passiveStructure, |
|
|
bool |
passiveAPlate |
|
) |
| |
|
protectedslot |
Definition at line 2354 of file VP1GeometrySystem.cxx.
2358 #ifndef BUILDVP1LIGHT
2371 Imp::SubSystemInfo* subsys(0);
2373 if (si->flag == subSysFlag) {
2379 message(
"autoAdaptMuonNSW Error: Could not find subsystem");
2386 if (!subsys->isbuilt) {
2398 (*it)->initialiseChildren();
2403 for (;itChl!=itChlE;++itChl) {
2405 bool unzap(
reset?
true :
false );
2409 if ( (stgc) && (*itChl)->hasName(
"NSW_sTGC") ) {
2412 }
else if ( (
mm) && (*itChl)->hasName(
"NSW_MM") ) {
2415 }
else if ( (passiveSpacer) && (*itChl)->hasName(
"NSW_Spacer") ) {
2417 }
else if ( (passiveStructure) && (*itChl)->hasName(
"NSW_Aluminum_Structure_and_HUB") ) {
2419 }
else if ( (passiveAPlate) && (*itChl)->hasName(
"A_Plate") ) {
◆ autoAdaptPixelsOrSCT
void VP1GeometrySystem::autoAdaptPixelsOrSCT |
( |
bool |
pixel, |
|
|
bool |
brl, |
|
|
bool |
ecA, |
|
|
bool |
ecC, |
|
|
bool |
bcmA, |
|
|
bool |
bcmC |
|
) |
| |
|
protectedslot |
Definition at line 2247 of file VP1GeometrySystem.cxx.
2249 #ifndef BUILDVP1LIGHT
2255 bool bcm(bcmA||bcmC);
2260 Imp::SubSystemInfo* subsys(0);
2262 if (si->flag == subSysFlag) {
2268 message(
"AutoAdaptPixelsOrSCT Error: Could not find subsystem");
2275 if (!subsys->isbuilt) {
2286 (*it)->initialiseChildren();
2289 for (;itChl!=itChlE;++itChl) {
2293 if (brl&&(*itChl)->hasName(
"barrelLog")) {
2296 }
else if ((ec)&&(*itChl)->hasName(
"EndCapLog")) {
2297 if (((*itChl)->isPositiveZ()?ecA:ecC)) {
2301 }
else if (bcm&&(*itChl)->hasName(
"bcmModLog")) {
2302 if (((*itChl)->isPositiveZ()?bcmA:bcmC)) {
2308 if ((*itChl)->hasName(
"ITkPixelDetector")) {
2321 (*it)->initialiseChildren();
2326 if (brl&&(*it)->hasName(
"SCT_Barrel")) {
2329 }
else if (ecA&&(*it)->hasName(
"SCT_ForwardA")) {
2332 }
else if (ecC&&(*it)->hasName(
"SCT_ForwardC")) {
◆ autoExpandByVolumeOrMaterialName
void VP1GeometrySystem::autoExpandByVolumeOrMaterialName |
( |
bool |
bymatname, |
|
|
const QString & |
targetname |
|
) |
| |
|
protectedslot |
Definition at line 2058 of file VP1GeometrySystem.cxx.
2060 if (targetname.isEmpty()) {
2065 messageVerbose(
"Auto expansions of visible volumes requested. Target all volumes with "
2066 +
str(bymatname?
"material name":
"name")+
" matching "+targetname);
2068 QRegExp selregexp(targetname,Qt::CaseSensitive,QRegExp::Wildcard);
2070 std::vector<std::pair<VolumeHandle::VolumeHandleListItr,VolumeHandle::VolumeHandleListItr> > roothandles;
2079 for (
unsigned i = 0;
i<roothandles.size();++
i) {
2080 it = roothandles.at(
i).first;
2081 itE = roothandles.at(
i).second;
◆ autoIconifyByVolumeOrMaterialName
void VP1GeometrySystem::autoIconifyByVolumeOrMaterialName |
( |
bool |
bymatname, |
|
|
const QString & |
targetname |
|
) |
| |
|
protectedslot |
Definition at line 2138 of file VP1GeometrySystem.cxx.
2140 if (targetname.isEmpty()) {
2145 messageVerbose(
"Auto iconification/zapping of visible volumes requested. Target all volumes with "
2146 +
str(bymatname?
"material name":
"name")+
" matching "+targetname);
2148 QRegExp selregexp(targetname,Qt::CaseSensitive,QRegExp::Wildcard);
2150 std::vector<std::pair<VolumeHandle::VolumeHandleListItr,VolumeHandle::VolumeHandleListItr> > roothandles;
2159 for (
unsigned i = 0;
i<roothandles.size();++
i) {
2160 it = roothandles.at(
i).first;
2161 itE = roothandles.at(
i).second;
◆ buildController()
QWidget * VP1GeometrySystem::buildController |
( |
| ) |
|
|
virtual |
Reimplemented from IVP13DSystemSimple.
Definition at line 384 of file VP1GeometrySystem.cxx.
386 message(
"VP1GeometrySystem::buildController");
404 connect(
m_d->
controller,SIGNAL(muonChamberAdaptionStyleChanged(VP1GeoFlags::MuonChamberAdaptionStyleFlags)),
409 connect(
m_d->
controller,SIGNAL(
autoAdaptPixelsOrSCT(
bool,
bool,
bool,
bool,
bool,
bool)),
this,SLOT(
autoAdaptPixelsOrSCT(
bool,
bool,
bool,
bool,
bool,
bool)));
410 connect(
m_d->
controller,SIGNAL(
autoAdaptMuonNSW(
bool,
bool,
bool,
bool,
bool,
bool)),
this,SLOT(
autoAdaptMuonNSW(
bool,
bool,
bool,
bool,
bool,
bool)));
◆ buildEventSceneGraph()
void VP1GeometrySystem::buildEventSceneGraph |
( |
StoreGateSvc * |
, |
|
|
SoSeparator * |
|
|
) |
| |
|
inlinevirtual |
◆ buildExtraDisplayWidget()
virtual QWidget* IVP13DSystem::buildExtraDisplayWidget |
( |
| ) |
|
|
inlinevirtualinherited |
◆ buildPermanentSceneGraph()
void VP1GeometrySystem::buildPermanentSceneGraph |
( |
StoreGateSvc * |
detstore, |
|
|
SoSeparator * |
root |
|
) |
| |
|
virtual |
Reimplemented from IVP13DSystemSimple.
Definition at line 512 of file VP1GeometrySystem.cxx.
516 #ifndef BUILDVP1LIGHT
518 message(
"Error: GeoModel not configured properly in job.");
525 message(
"Error: Could not retrieve the ATLAS GeoModelExperiment from detector store");
545 SoFont *myFont =
new SoFont;
546 myFont->name.setValue(
"Arial");
547 myFont->size.setValue(12.0);
550 bool save =
root->enableNotify(
false);
553 SoEventCallback *catchEvents =
new SoEventCallback();
555 root->addChild(catchEvents);
566 VP1Msg::messageDebug(
"Switching on this system: " + QString::fromStdString(subsys->matname) +
" - " + subsys->flag);
568 subsys->checkbox->setChecked( on );
569 subsys->checkbox->setEnabled(
false);
570 subsys->checkbox->setToolTip(
"This sub-system is not available");
579 qDebug() <<
"Looping on volumes from the input GeoModel...";
581 GeoVolumeCursor av(world);
582 while (!av.atEnd()) {
584 std::string
name = av.getName();
586 qDebug() <<
"volume name:" << QString::fromStdString(
name);
595 if (subsys->negatetreetopregexp!=subsys->geomodeltreetopregexp.exactMatch(
name.c_str()))
597 if (subsys->checkbox==checkBoxOther&&
found) {
602 qDebug() << (subsys->geomodeltreetopregexp).
pattern() << subsys->geomodeltreetopregexp.exactMatch(
name.c_str()) << subsys->negatetreetopregexp;
603 qDebug() <<
"setting 'found' to TRUE for pattern:" << (subsys->geomodeltreetopregexp).
pattern();
607 subsys->treetopinfo.resize(subsys->treetopinfo.size()+1);
608 subsys->treetopinfo.back().pV = av.getVolume();
610 subsys->treetopinfo.back().volname = av.getName();
613 SoSwitch * sw =
new SoSwitch();
615 subsys->soswitch = sw;
616 if (sw->whichChild.getValue() != SO_SWITCH_NONE)
617 sw->whichChild = SO_SWITCH_NONE;
618 SoSeparator *
sep =
new SoSeparator;
622 subsys->checkbox->setEnabled(
true);
623 subsys->checkbox->setToolTip(
"Toggle the display of the "+subsys->checkbox->text()+
" sub system");
629 message(
"Warning: Found unexpected GeoModel treetop: "+QString(
name.c_str()));
636 if (!checkBoxOther->isEnabled())
637 checkBoxOther->setVisible(
false);
641 if (!subsys->soswitch||!subsys->checkbox->isChecked())
645 if (subsys->soswitch->whichChild.getValue() != SO_SWITCH_ALL)
646 subsys->soswitch->whichChild = SO_SWITCH_ALL;
◆ channel()
◆ checkboxChanged
void VP1GeometrySystem::checkboxChanged |
( |
| ) |
|
|
protectedslot |
Definition at line 774 of file VP1GeometrySystem.cxx.
776 QCheckBox * cb =
static_cast<QCheckBox*
>(sender());
777 Imp::SubSystemInfo * subsys(0);
779 if (cb==
ss->checkbox) {
785 message(
"ERROR: Unknown checkbox");
789 SoSwitch * sw = subsys->soswitch;
791 if (cb->isChecked()) {
792 SbBool
save = sw->enableNotify(
false);
793 if (sw->getNumChildren()==0) {
797 if (sw->whichChild.getValue() != SO_SWITCH_ALL)
798 sw->whichChild = SO_SWITCH_ALL;
799 sw->enableNotify(
save);
806 if (sw->whichChild.getValue() != SO_SWITCH_NONE)
807 sw->whichChild = SO_SWITCH_NONE;
◆ contact_info()
const QString & IVP1System::contact_info |
( |
| ) |
const |
|
inherited |
◆ controllerWidget()
QWidget * IVP1System::controllerWidget |
( |
| ) |
|
|
inherited |
◆ create()
◆ deleteController()
void IVP1System::deleteController |
( |
| ) |
|
|
privateinherited |
◆ deselectAll()
Reimplemented in VP1PrepRawDataSystem.
Definition at line 331 of file IVP13DSystem.cxx.
335 if (
it->second!=
this)
337 if (
it->first!=exception_sel) {
338 if (
it->first->policy.getValue()!=SoCooperativeSelection::SINGLE) {
340 it->first->deselectAll();
343 if (
it->first->getList()->getLength()==1) {
345 SoPath *
path =
static_cast<SoPath*
>(
it->first->getList()->get(0));
347 it->first->deselectAll();
◆ detectorStore()
◆ disallowUpdateGUI()
void IVP1System::disallowUpdateGUI |
( |
| ) |
|
|
privateinherited |
◆ emit_appropriateMDTProjectionsChanged
void VP1GeometrySystem::emit_appropriateMDTProjectionsChanged |
( |
| ) |
|
|
protectedslot |
Definition at line 1591 of file VP1GeometrySystem.cxx.
1594 message(
"emit_appropriateMDTProjectionsChanged called before controller built.");
1600 int i (option_openmdtchambers?(option_hidetubes?0:1):2);
◆ enableMuonChamberLabels()
void VP1GeometrySystem::enableMuonChamberLabels |
( |
bool |
t0s, |
|
|
bool |
hits |
|
) |
| |
◆ ensureBuildController()
void IVP13DSystemSimple::ensureBuildController |
( |
| ) |
|
|
inherited |
◆ erase()
void IVP13DSystemSimple::erase |
( |
| ) |
|
|
privatevirtualinherited |
◆ eventStore()
◆ getCameraList()
std::set< SoCamera * > IVP13DSystem::getCameraList |
( |
| ) |
|
|
inherited |
Definition at line 395 of file IVP13DSystem.cxx.
400 SoCamera*cam = (*it)->getCamera();
402 cameralist.insert(cam);
◆ getSceneGraph()
SoSeparator * IVP13DSystemSimple::getSceneGraph |
( |
| ) |
const |
|
privatevirtualinherited |
◆ inactiveSystemTurnedActive
void IVP1System::inactiveSystemTurnedActive |
( |
| ) |
|
|
signalinherited |
◆ information()
const QString & IVP1System::information |
( |
| ) |
const |
|
inherited |
◆ isRefreshing()
bool IVP1System::isRefreshing |
( |
| ) |
|
|
privateinherited |
◆ itemFromSystemSelected
void IVP13DSystem::itemFromSystemSelected |
( |
| ) |
|
|
signalinherited |
◆ loadMaterialsFromFile
void VP1GeometrySystem::loadMaterialsFromFile |
( |
const QString & |
filename | ) |
|
|
protectedslot |
Definition at line 2808 of file VP1GeometrySystem.cxx.
2814 QMessageBox::critical(0,
"Error - file does not exists: "+
filename,
2815 "File does not exists: <i>"+
filename+
"</i>",QMessageBox::Ok,QMessageBox::Ok);
2818 if (!
fi.isReadable()) {
2819 QMessageBox::critical(0,
"Error - file is not readable: "+
filename,
2820 "File is not readable: <i>"+
filename+
"</i>",QMessageBox::Ok,QMessageBox::Ok);
2825 if (!
file.open(QIODevice::ReadOnly)) {
2826 QMessageBox::critical(0,
"Error - problems opening file "+
filename,
2827 "Problems opening file: <i>"+
filename+
"</i>",QMessageBox::Ok,QMessageBox::Ok);
2830 QByteArray byteArray64;
2833 QByteArray byteArray = qUncompress(QByteArray::fromBase64(byteArray64));
2836 if (
s.version()!=0) {
2837 QMessageBox::critical(0,
"Error - File in wrong format "+
filename,
2838 "File in wrong format: <i>"+
filename+
"</i>",QMessageBox::Ok,QMessageBox::Ok);
2841 QString txtbegin, txtend;
2842 QByteArray baDet, baMat, baVol;
2843 txtbegin =
s.restoreString();
2844 baDet =
s.restoreByteArray();
2845 baMat =
s.restoreByteArray();
2846 baVol =
s.restoreByteArray();
2847 txtend =
s.restoreString();
2848 s.disableUnrestoredChecks();
2849 if (txtbegin!=
"VP1GeoMaterialsBegin"||txtend!=
"VP1GeoMaterialsEnd") {
2850 QMessageBox::critical(0,
"Error - File in wrong format "+
filename,
2851 "File in wrong format: <i>"+
filename+
"</i>",QMessageBox::Ok,QMessageBox::Ok);
◆ message() [1/3]
void IVP1System::message |
( |
const QString & |
str | ) |
const |
|
inherited |
◆ 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.
402 if (addtostart.isEmpty()) {
406 if (addtoend.isEmpty()) {
407 for (
const QString&
s :
l)
410 for (
const QString&
s :
l)
◆ message() [3/3]
void IVP1System::message |
( |
const QStringList & |
l, |
|
|
const QString & |
addtoend = "" |
|
) |
| const |
|
inherited |
Definition at line 362 of file IVP1System.cxx.
364 if (addtoend.isEmpty()) {
365 for (
const QString&
s :
l)
368 for (
const QString&
s :
l)
◆ messageDebug() [1/3]
void IVP1System::messageDebug |
( |
const QString & |
str | ) |
const |
|
inherited |
◆ 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.
418 if (addtostart.isEmpty()) {
422 if (addtoend.isEmpty()) {
423 for (
const QString&
s :
l)
426 for (
const QString&
s :
l)
◆ messageDebug() [3/3]
void IVP1System::messageDebug |
( |
const QStringList & |
l, |
|
|
const QString & |
addtoend = "" |
|
) |
| const |
|
inherited |
Definition at line 374 of file IVP1System.cxx.
376 if (addtoend.isEmpty()) {
377 for (
const QString&
s :
l)
380 for (
const QString&
s :
l)
◆ messageVerbose() [1/3]
void IVP1System::messageVerbose |
( |
const QString & |
str | ) |
const |
|
inherited |
◆ 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.
436 if (addtostart.isEmpty()) {
440 if (addtoend.isEmpty()) {
441 for (
const QString&
s :
l)
444 for (
const QString&
s :
l)
◆ messageVerbose() [3/3]
void IVP1System::messageVerbose |
( |
const QStringList & |
l, |
|
|
const QString & |
addtoend = "" |
|
) |
| const |
|
inherited |
Definition at line 386 of file IVP1System.cxx.
390 if (addtoend.isEmpty()) {
391 for (
const QString&
s :
l)
394 for (
const QString&
s :
l)
◆ muonChamberT0sChanged
void VP1GeometrySystem::muonChamberT0sChanged |
( |
const std::map< GeoPVConstLink, float > & |
t0s, |
|
|
int |
index |
|
) |
| |
|
slot |
The map is the dt0 per chamber, plus a label identifier, which by convention (!) is 0=Moore, 1=Muonboy.
Definition at line 2886 of file VP1GeometrySystem.cxx.
2889 message(
"ERROR: chamber t0 index out of bounds!");
◆ name()
const QString & IVP1System::name |
( |
| ) |
const |
|
inherited |
◆ needErase
void IVP1System::needErase |
( |
| ) |
|
|
signalinherited |
◆ orientViewToMuonChamber
void VP1GeometrySystem::orientViewToMuonChamber |
( |
const GeoPVConstLink & |
chamberPV | ) |
|
|
slot |
Definition at line 1767 of file VP1GeometrySystem.cxx.
1775 message(
"Error: Asked to orient view to chamber volume '"
1776 +QString(chamberPV->getLogVol()->getName().c_str())
1777 +
"', which doesn't fit the known format of any chamber!");
1782 if (!subsys->soswitch) {
1783 message(
"Warning: Asked to orient view to muon chamber volume which is not available. Perhaps muon geometry was not built?");
1794 message(
"Error: Asked to orient view to chamber volume '"
1795 +QString(chamberPV->getLogVol()->getName().c_str())
1796 +
"', but could not find chamber handle!");
1806 bool isCSCOrTGC =
name.size()>=2 && ( (
name[0]==
'C' &&
name[1]==
'S') || (
name[0]==
'T') );
1807 if (!isCSCOrTGC&&!(
name.size()>=1&&(
name[0]==
'E'||
name[0]==
'B'))) {
1809 message(
"orientViewToMuonChamber Warning: Not CSC, TGC or MDT station!");
1813 bool save = subsys->soswitch->enableNotify(
false);
1816 int32_t soswitch_val = subsys->soswitch->whichChild.getValue();
1817 if (soswitch_val!=SO_SWITCH_ALL)
1818 subsys->soswitch->whichChild = SO_SWITCH_ALL;
1833 SbRotation camrot = (*it)->orientation.getValue();
1834 SbVec3f cameraDir(0, 0, -1);
1835 camrot.multVec(cameraDir, cameraDir);
1836 SbVec3f cameraUpVec(0, 1, 0);
1837 camrot.multVec(cameraUpVec, cameraUpVec);
1839 std::pair<SbVec3f,SbVec3f> chamberdirections;
1847 SbVec3f newdirection = - chamberdirections.first;
1848 SbVec3f newup(cameraUpVec);
1849 const float epsilon(0.00001
f);
1854 SbRotation rot(cameraDir,0.5*
M_PI);
1855 SbVec3f chambdir1 = chamberdirections.second;
1856 SbVec3f chambdir2,chambdir3,chambdir4;
1857 rot.multVec(chambdir1,chambdir2);
1858 rot.multVec(chambdir2,chambdir3);
1859 rot.multVec(chambdir3,chambdir4);
1860 if (cameraUpVec.equals(chambdir1,epsilon)) {
1862 }
else if (cameraUpVec.equals(chambdir2,epsilon)) {
1864 }
else if (cameraUpVec.equals(chambdir3,epsilon)) {
1866 }
else if (cameraUpVec.equals(chambdir4,epsilon)) {
1870 float cos1 = chambdir1.dot(cameraUpVec);
1871 float cos2 = chambdir2.dot(cameraUpVec);
1872 float cos3 = chambdir3.dot(cameraUpVec);
1873 float cos4 = chambdir4.dot(cameraUpVec);
1877 else if (cos2==maxcos)
1879 else if (cos3==maxcos)
1893 chamberHandle->
setState(oldChamberState);
1894 if (soswitch_val!=SO_SWITCH_ALL)
1895 subsys->soswitch->whichChild.setValue(soswitch_val);
1897 subsys->soswitch->enableNotify(
true);
1898 subsys->soswitch->touch();
◆ plotSpectrum
void VP1GeometrySystem::plotSpectrum |
( |
QStack< QString > & |
, |
|
|
int |
copyNumber = -1 |
|
) |
| |
|
signal |
◆ refresh()
void IVP13DSystemSimple::refresh |
( |
StoreGateSvc * |
storegate | ) |
|
|
privatevirtualinherited |
◆ registerCamera()
void IVP13DSystem::registerCamera |
( |
SoCamera * |
camera | ) |
|
|
inherited |
◆ registerController()
void IVP1System::registerController |
( |
QWidget * |
w | ) |
|
|
protectedinherited |
Definition at line 224 of file IVP1System.cxx.
231 messageVerbose(
"registerController w!=0 = "+QString(
w!=0?
"true":
"false"));
234 message(
"ERROR: Please don't register controllers after create().");
236 message(
"ERROR: Please only register controllers in CONSTRUCTED state.");
238 message(
"ERROR: Attempt to register null controller.");
242 message(
"ERROR: Attempt to register controller twice.");
◆ registerSelectionNode()
Definition at line 257 of file IVP13DSystem.cxx.
260 message(
"registerSelectionNode Error: NULL selection pointer!");
264 message(
"registerSelectionNode Error: Trying to register selection node more than once!");
◆ registerViewer()
void IVP13DSystem::registerViewer |
( |
SoQtViewer * |
viewer | ) |
|
|
inherited |
◆ reiconizeToShowSpecificMuonChambers
void VP1GeometrySystem::reiconizeToShowSpecificMuonChambers |
( |
const std::set< GeoPVConstLink > & |
chambers | ) |
|
|
slot |
◆ resetSubSystems
void VP1GeometrySystem::resetSubSystems |
( |
VP1GeoFlags::SubSystemFlags |
f | ) |
|
|
protectedslot |
◆ restoreFromState()
void VP1GeometrySystem::restoreFromState |
( |
QByteArray |
ba | ) |
|
|
virtual |
Reimplemented from IVP1System.
Definition at line 1336 of file VP1GeometrySystem.cxx.
1339 message(
"Warning: State data in .vp1 file is in wrong format - ignoring!");
1342 if (
state.version()<=5) {
1343 message(
"Warning: State data in .vp1 file is in obsolete format - ignoring!");
1354 VP1GeoFlags::SubSystemFlags
flags;
1355 QMap<QString,bool> subsysstate =
state.restore<QMap<QString,bool> >();
1357 state.widgetHandled(subsys->checkbox);
1358 if (subsysstate.contains(subsys->checkbox->text())&&subsysstate[subsys->checkbox->text()])
1359 flags |= subsys->flag;
1364 QMap<quint32,QByteArray> topvolstates;
1365 topvolstates =
state.restore<QMap<quint32,QByteArray> >();
1371 if (
state.version()>=7) {
1378 state.disableUnrestoredChecks();
◆ saveMaterialsToFile
void VP1GeometrySystem::saveMaterialsToFile |
( |
const QString & |
filename, |
|
|
bool |
onlyChangedMaterials |
|
) |
| |
|
protectedslot |
Definition at line 2769 of file VP1GeometrySystem.cxx.
2777 if (!
fi.isWritable()) {
2778 QMessageBox::critical(0,
"Error - could not save to file "+
filename,
2779 "Could not save to file: <i>"+
filename+
"</i>"
2780 +
"<br/><br/>Reason: File exists already and is write protected",QMessageBox::Ok,QMessageBox::Ok);
2786 if (!
file.open(QIODevice::WriteOnly)) {
2787 QMessageBox::critical(0,
"Error - problems writing to file "+
filename,
2788 "Problems writing to file: <i>"+
filename+
"</i>",QMessageBox::Ok,QMessageBox::Ok);
2795 s.save(QString(
"VP1GeoMaterialsBegin"));
2799 s.save(QString(
"VP1GeoMaterialsEnd"));
2800 s.disableUnsavedChecks();
2803 outfile<<qCompress(
s.result()).toBase64();
◆ saveState()
QByteArray VP1GeometrySystem::saveState |
( |
| ) |
|
|
virtual |
Reimplemented from IVP1System.
Definition at line 1297 of file VP1GeometrySystem.cxx.
1308 QMap<QString,bool> subsysstate;
1310 serialise.widgetHandled(subsys->checkbox);
1311 subsysstate.insert(subsys->checkbox->text(),subsys->checkbox->isChecked());
1316 QMap<quint32,QByteArray> topvolstates;
1322 topvolstates.insert((*it)->hashID(),(*it)->getPersistifiableState());
◆ serviceLocator()
ISvcLocator * IVP1System::serviceLocator |
( |
| ) |
const |
|
inherited |
◆ setActiveState()
◆ setAutoAdaptMuonChambersToEventData()
void VP1GeometrySystem::setAutoAdaptMuonChambersToEventData |
( |
bool |
b | ) |
|
◆ setCanRegisterController()
void IVP1System::setCanRegisterController |
( |
const bool & |
c | ) |
|
|
privateinherited |
◆ setChannel()
◆ setCurvedSurfaceRealism
void VP1GeometrySystem::setCurvedSurfaceRealism |
( |
int |
val | ) |
|
|
slot |
◆ setGeometrySelectable()
void VP1GeometrySystem::setGeometrySelectable |
( |
bool |
b | ) |
|
◆ setLabelPosOffsets
void VP1GeometrySystem::setLabelPosOffsets |
( |
const QList< int > & |
| ) |
|
|
protectedslot |
◆ setLabels
void VP1GeometrySystem::setLabels |
( |
int |
i | ) |
|
|
protectedslot |
◆ setOrientViewToMuonChambersOnClick()
void VP1GeometrySystem::setOrientViewToMuonChambersOnClick |
( |
bool |
b | ) |
|
◆ setRefreshing()
void IVP1System::setRefreshing |
( |
const bool & |
b | ) |
|
|
privateinherited |
◆ setShowVolumeOutLines
void VP1GeometrySystem::setShowVolumeOutLines |
( |
bool |
b | ) |
|
|
protectedslot |
◆ setState()
◆ setUserSelectionNotificationsEnabled()
Definition at line 310 of file IVP13DSystem.cxx.
313 message(
"setUserSelectionNotificationsEnabled Error: NULL selection pointer!");
317 message(
"setUserSelectionNotificationsEnabled Error: Called for selection which was never registered!");
◆ setZoomToVolumeOnClick()
void VP1GeometrySystem::setZoomToVolumeOnClick |
( |
bool |
b | ) |
|
◆ state()
◆ storeGate()
◆ str() [1/30]
◆ str() [2/30]
static QString VP1String::str |
( |
const bool |
b | ) |
|
|
inlinestaticinherited |
Definition at line 53 of file VP1String.h.
53 {
return b?
"True":
"False"; }
◆ str() [3/30]
static QString VP1String::str |
( |
const char * |
c | ) |
|
|
inlinestaticinherited |
◆ str() [4/30]
static QString VP1String::str |
( |
const double & |
d | ) |
|
|
inlinestaticinherited |
◆ str() [5/30]
static QString VP1String::str |
( |
const float & |
f | ) |
|
|
inlinestaticinherited |
◆ str() [6/30]
◆ str() [7/30]
QString VP1String::str |
( |
const QColor & |
c | ) |
|
|
staticinherited |
Definition at line 30 of file VP1String.cxx.
32 return c.isValid() ?
c.name() :
"Invalid";
◆ str() [8/30]
template<class T >
static QString VP1String::str |
( |
const QFlags< T > & |
f | ) |
|
|
inlinestaticinherited |
◆ str() [9/30]
template<class T >
static QString VP1String::str |
( |
const QList< T > & |
t | ) |
|
|
inlinestaticinherited |
◆ str() [10/30]
static QString VP1String::str |
( |
const QString & |
s | ) |
|
|
inlinestaticinherited |
◆ str() [11/30]
QString VP1String::str |
( |
const SbColor & |
c | ) |
|
|
staticinherited |
◆ str() [12/30]
QString VP1String::str |
( |
const SbVec2d & |
v | ) |
|
|
staticinherited |
◆ str() [13/30]
QString VP1String::str |
( |
const SbVec2f & |
v | ) |
|
|
staticinherited |
◆ str() [14/30]
QString VP1String::str |
( |
const SbVec2s & |
v | ) |
|
|
staticinherited |
◆ str() [15/30]
QString VP1String::str |
( |
const SbVec3d & |
v | ) |
|
|
staticinherited |
◆ str() [16/30]
QString VP1String::str |
( |
const SbVec3f & |
v | ) |
|
|
staticinherited |
◆ str() [17/30]
QString VP1String::str |
( |
const SbVec3s & |
v | ) |
|
|
staticinherited |
◆ str() [18/30]
QString VP1String::str |
( |
const SbVec4d & |
v | ) |
|
|
staticinherited |
◆ str() [19/30]
QString VP1String::str |
( |
const SbVec4f & |
v | ) |
|
|
staticinherited |
◆ str() [20/30]
template<class T >
static 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.
54 return QString (
s.str().c_str());
◆ str() [22/30]
◆ str() [23/30]
static QString VP1String::str |
( |
int |
n | ) |
|
|
inlinestaticinherited |
◆ str() [24/30]
static QString VP1String::str |
( |
long |
n | ) |
|
|
inlinestaticinherited |
◆ str() [25/30]
static QString VP1String::str |
( |
qlonglong |
n | ) |
|
|
inlinestaticinherited |
◆ str() [26/30]
static QString VP1String::str |
( |
qulonglong |
n | ) |
|
|
inlinestaticinherited |
◆ str() [27/30]
static QString VP1String::str |
( |
short int |
n | ) |
|
|
inlinestaticinherited |
◆ str() [28/30]
static QString VP1String::str |
( |
uint |
n | ) |
|
|
inlinestaticinherited |
◆ str() [29/30]
static QString VP1String::str |
( |
ulong |
n | ) |
|
|
inlinestaticinherited |
◆ str() [30/30]
static QString VP1String::str |
( |
unsigned short int |
n | ) |
|
|
inlinestaticinherited |
◆ sysmessage
void IVP1System::sysmessage |
( |
QString |
| ) |
const |
|
signalinherited |
◆ systemcreate()
void VP1GeometrySystem::systemcreate |
( |
StoreGateSvc * |
detstore | ) |
|
|
virtual |
◆ systemerase()
void IVP13DSystemSimple::systemerase |
( |
| ) |
|
|
virtualinherited |
◆ systemuncreate()
void VP1GeometrySystem::systemuncreate |
( |
| ) |
|
|
virtual |
◆ toolSvc()
IToolSvc * IVP1System::toolSvc |
( |
| ) |
const |
|
inherited |
◆ uncreate()
void IVP13DSystemSimple::uncreate |
( |
| ) |
|
|
privatevirtualinherited |
◆ unregisterSelectionNode()
Definition at line 281 of file IVP13DSystem.cxx.
284 message(
"unregisterSelectionNode Error: NULL selection pointer!");
288 message(
"registerSelectionNode Error: Trying to unregister unknown selection node!");
◆ updateGUI()
void IVP13DSystemSimple::updateGUI |
( |
| ) |
|
|
inlineinherited |
◆ updateTransparency
void VP1GeometrySystem::updateTransparency |
( |
| ) |
|
|
protectedslot |
◆ userChangedSelection()
◆ userClickedOnBgd()
void IVP13DSystem::userClickedOnBgd |
( |
| ) |
|
|
virtualinherited |
◆ userDeselectedSingleNode()
◆ userPickedNode()
void VP1GeometrySystem::userPickedNode |
( |
SoNode * |
pickedNode, |
|
|
SoPath * |
pickedPath |
|
) |
| |
|
virtual |
Reimplemented from IVP13DSystemSimple.
Definition at line 813 of file VP1GeometrySystem.cxx.
841 if (pickedPath->getNodeFromTail(0)->getTypeId()==SoCylinder::getClassTypeId())
844 if (pickedPath->getLength()<5) {
849 SoSeparator * nodesep(0);
851 if (pickedPath->getNodeFromTail(1)->getTypeId()==SoSeparator::getClassTypeId()
852 && pickedPath->getNodeFromTail(2)->getTypeId()==SoSwitch::getClassTypeId()
853 && pickedPath->getNodeFromTail(3)->getTypeId()==SoSeparator::getClassTypeId())
856 nodesep =
static_cast<SoSeparator*
>(pickedPath->getNodeFromTail(3));
859 else if (pickedPath->getNodeFromTail(1)->getTypeId()==SoSwitch::getClassTypeId()
860 && pickedPath->getNodeFromTail(2)->getTypeId()==SoSeparator::getClassTypeId())
863 nodesep =
static_cast<SoSeparator*
>(pickedPath->getNodeFromTail(2));
865 else if (pickedPath->getNodeFromTail(1)->getTypeId()==SoSeparator::getClassTypeId()) {
867 nodesep =
static_cast<SoSeparator*
>(pickedPath->getNodeFromTail(1));
870 message(
"Unexpected picked path");
874 message(
"Problems finding volume handle");
879 message(
"Found NULL volume handle");
893 bool shift_isdown = (Qt::ShiftModifier & QApplication::keyboardModifiers());
906 bool ctrl_isdown = (Qt::ControlModifier & QApplication::keyboardModifiers());
935 bool orientedView(
false);
945 message(
"Warning: Failed to relocate picked node.");
991 message(
"===> CopyNo : "+(cn>=0?
QString::number(cn):QString(cn==-1?
"Invalid":
"Error reconstructing copynumber")));
996 float translation_x, translation_y, translation_z, rotaxis_x, rotaxis_y, rotaxis_z, rotangle_radians;
998 translation_x, translation_y, translation_z,
999 rotaxis_x, rotaxis_y, rotaxis_z, rotangle_radians );
1000 message(
"===> Local Translation:");
1004 message(
"===> Local Rotation:");
1010 translation_x, translation_y, translation_z,
1011 rotaxis_x, rotaxis_y, rotaxis_z, rotangle_radians );
1012 message(
"===> Global Translation:");
1016 message(
"===> Global Rotation:");
1024 std::ostringstream
str;
1025 GeoPrintGraphAction
pg(
str);
1028 for (
const QString&
line : QString(
str.str().c_str()).split(
"\n"))
1036 message(
"===> Total Mass <===");
1044 #ifndef BUILDVP1LIGHT
1047 std::map<GeoPVConstLink,const MuonGM::MuonStation*>::const_iterator itStation(
m_d->
pv2MuonStation.find(pvlink));
1049 message(
"===> Muon station <===");
1059 QStack<QString> partspectPath, extras;
1060 QString detFactoryName;
1062 VolumeHandle *parentVH(volhandle), *childVH(volhandle);
1066 parentVH = parentVH->parent();
1067 PVConstLink parentPVLink = parentVH ? parentVH->geoPVConstLink() : childVH->geoPVConstLink()->getParent();
1069 int indexOfChild = parentVH ? childVH->childNumber() : parentPVLink->indexOf(childVH->geoPVConstLink()).value();
1071 std::string childPVName = parentPVLink->getNameOfChildVol(indexOfChild);
1072 QString pathEntry = childPVName==
"ANON" ? detFactoryName+childVH->getName() : QString(childPVName.c_str());
1074 std::optional<int> childCopyNo = parentPVLink->getIdOfChildVol(indexOfChild);
1077 strCopyNo.setNum(*childCopyNo);
1078 pathEntry += (
"::"+strCopyNo);
1080 partspectPath.push(pathEntry);
1085 while(!extras.isEmpty())
1086 partspectPath.push(extras.pop());
1088 partspectPath.push(
"Atlas::Atlas");
◆ userSelectedSingleNode()
◆ verbose()
static bool IVP1System::verbose |
( |
| ) |
|
|
inlinestaticinherited |
◆ volumeResetRequested
void VP1GeometrySystem::volumeResetRequested |
( |
VolumeHandle * |
vh | ) |
|
|
protectedslot |
◆ volumeStateChangeRequested
◆ warnOnDisabledNotifications()
void IVP13DSystemSimple::warnOnDisabledNotifications |
( |
| ) |
const |
|
inherited |
Definition at line 221 of file IVP13DSystemSimple.cxx.
223 QList<SoNode*> nodesR;
224 QList<SoNode*> 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()));
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()));
◆ m_d
Imp* VP1GeometrySystem::m_d |
|
protected |
◆ s_vp1verbose
The documentation for this class was generated from the following files:
void emit_appropriateMDTProjectionsChanged()
void setLabelsEnabled(bool t0s, bool hits)
controls whether the checkboxes are enabled or not.
def retrieve(aClass, aKey=None)
JetConstituentVector::iterator iterator
virtual void systemuncreate()
std::pair< SbVec3f, SbVec3f > getClosestCSCOrTGCEdgeDirections(const SbVec3f &cameraDirection, VolumeHandle *chamberhandle)
void appropriateMDTProjectionsChanged(int)
VP1GeoFlags::SubSystemFlags initialSubSystemsTurnedOn
GeoPhysVol * getPhysVol()
Destructor.
const QString contact_info
static std::map< SoCooperativeSelection *, IVP13DSystem * > selection2system
void applyTopVolStates(const QMap< quint32, QByteArray > &, bool disablenotif=false)
bool isInMuonChamber() const
QList< const std::map< GeoPVConstLink, float > * > chamberT0s
SubSystemInfo * chamberPVToMuonSubSystemInfo(const GeoPVConstLink &chamberPV)
bool printInfoOnClick_Material() const
bool orientViewToMuonChambersOnClick() const
path
python interpreter configuration --------------------------------------—
std::map< PVConstLink, VolumeHandle * > muonchambers_pv2handles
static void made_selection(void *userdata, SoPath *path)
static QStringList shapeToStringList(const GeoShape *shape)
std::string find(const std::string &s)
return a remapped string
IVP13DSystemSimple(const QString &name, const QString &information, const QString &contact_info)
std::set< SoQtViewer * > viewers
virtual QWidget * buildController()
void serialise(const std::vector< const IRoiDescriptor * > &rois, roiserial_type &s)
serialise an entire vector of IRoiDescriptors
GeoSysController * controller
std::map< QObject *, std::set< GeoPVConstLink > > sender2ChamberList
void setZoomToVolumeOnClick(bool)
void setAutoAdaptMuonChambersToEventData(bool)
SoSeparator * m_textSep
Separator used to hold all visible labels.
void setState(const VP1GeoFlags::VOLSTATE &state)
SoGroup * drawOptions() const
static QStringList geoMaterialToStringList(const GeoMaterial *)
const GeoMaterial * geoMaterial() const
static double inclusiveMass(const PVConstLink &pv)
PhiSectorManager * phisectormanager
VolumeHandle * topLevelParent()
void restoreSettings(const QByteArray &)
void autoIconifyByVolumeOrMaterialName(bool, const QString &)
GeoPVConstLink geoPVConstLink() const
void inactiveSystemTurnedActive()
void buildSystem(SubSystemInfo *)
void actionOnAllNonStandardVolumes(bool)
void iconifyVisibleVolumesRecursively(VolumeHandle *, const QRegExp &, bool bymatname)
static void clickedoutside(void *userdata, SoCooperativeSelection *sel)
void showITkPixelModules(VolumeHandle *, bool brl, bool ecA, bool ecC)
static void decodeTransformation(const SbMatrix &, float &translation_x, float &translation_y, float &translation_z, float &rotaxis_x, float &rotaxis_y, float &rotaxis_z, float &rotangle_radians)
void adaptMuonChambersStyleChanged()
DetVisAttributes * detVisAttributes
bool zoomToVolumeOnClick() const
void disableSubSystem(VP1GeoFlags::SubSystemFlag flag)
void volumeResetRequested(VolumeHandle *)
static QString str(const QString &s)
QByteArray saveSettings() const
virtual void buildPermanentSceneGraph(StoreGateSvc *detstore, SoSeparator *root)
std::string getNameStdString() const
static const bool s_vp1verbose
void autoAdaptMuonNSW(bool reset, bool stgc, bool mm, bool passiveSpacer, bool passiveStructure, bool passiveAPlate)
VolVisAttributes * volVisAttributes
void getRootHandles(std::vector< std::pair< VolumeHandle::VolumeHandleListItr, VolumeHandle::VolumeHandleListItr > > &) const
PhiSectionWidget * phiSectionWidget() const
QCheckBox * subSystemCheckBox(VP1GeoFlags::SubSystemFlag) const
bool autoAdaptMuonChambersToEventData() const
virtual QByteArray saveState()
SoCooperativeSelection * root
SoPickStyle * pickStyle() const
void orientViewToMuonChamber(const GeoPVConstLink &chamberPV)
virtual void buildEventSceneGraph(StoreGateSvc *sg, SoSeparator *root)=0
SoSeparator * nodeSoSeparator() const
def save(self, fileName="./columbo.out")
float transparency() const
bool showVolumeOutLines() const
VP1GeoFlags::MuonChamberAdaptionStyleFlags muonChamberAdaptionStyle() const
VolumeHandle * previousAlignedChamberHandle
static const char * prefix_msg()
void changeStateOfVisibleNonStandardVolumesRecursively(VolumeHandle *, VP1GeoFlags::VOLSTATE)
const QString information
static void start_changeselection(void *userdata, SoSelection *sel)
void enableSubSystem(VP1GeoFlags::SubSystemFlag flag)
virtual void systemerase()
void autoAdaptPixelsOrSCT(bool, bool, bool, bool, bool, bool)
void applyState(QByteArray)
static bool hasSCTGeometry()
std::map< SoSeparator *, VolumeHandle * > sonodesep2volhandle
const QString & name() const
void showPixelModules(VolumeHandle *)
void setLabelPosOffsets(const QList< int > &)
QList< SubSystemInfo * > subsysInfoList
void expandVisibleVolumesRecursively(VolumeHandle *, const QRegExp &, bool bymatname)
unsigned nChildren() const
virtual void systemcreate(StoreGateSvc *detstore)
void ensureBuildController()
void setComplexity(double)
StoreGateSvc * eventStore() const
bool printInfoOnClick_Tree() const
void resetSubSystems(VP1GeoFlags::SubSystemFlags)
void setShowVolumeOutLines(bool)
void sysmessage(QString) const
static void catchKbdState(void *userData, SoEventCallback *CB)
static ISvcLocator * serviceLocator()
static StoreGateSvc * eventStore()
void showSCTBarrelModules(VolumeHandle *)
static QColor sbcol2qcol(const SbColor &)
void setOrientViewToMuonChambersOnClick(bool)
void adaptMuonChambersToEventData()
QByteArray getState(bool onlyChangedMaterials=true)
std::set< SoCamera * > staticcameras
const std::string selection
VolumeTreeModel * volumetreemodel
void messageDebug(const QString &) const
StoreGateSvc * detectorStore() const
static IToolSvc * toolSvc()
QMap< quint32, QByteArray > restoredTopvolstates
bool printInfoOnClick_Mass() const
const SoKeyboardEvent * kbEvent
void getNodesWithDisabledNotifications(SoGroup *, QList< SoNode * > &) const
static const char * prefix_debug()
QStringList stationInfo(const MuonGM::MuonStation *)
VP1GeoTreeView * volumeTreeBrowser() const
void registerController(QWidget *)
void saveMaterialsToFile(const QString &, bool)
static void setShowVolumeOutlines(SoGroup *nodesep, bool showvol)
VolumeHandle * lastSelectedVolume() const
static QString toString(const VOLSTATE &)
void showITkStripModules(VolumeHandle *, bool brl, bool ecA, bool ecC)
@ MuonBarrelStationMiddle
std::map< GeoPVConstLink, const MuonGM::MuonStation * > pv2MuonStation
static const char * prefix_verbose()
static void messageDebug(const QString &)
static void made_deselection(void *userdata, SoPath *path)
static double exclusiveMass(const PVConstLink &pv)
IVP1ChannelWidget * channel
void overrideTransparencies(float transpfact)
void warnOnDisabledNotifications() const
void autoExpandByVolumeOrMaterialName(bool, const QString &)
QSet< SoCooperativeSelection * > selectionsWithDisabledNotifications
constexpr std::enable_if_t< is_bitmask_v< E >, E & > reset(E &lhs, E rhs)
Convenience function to clear bits in a class enum bitmask.
HepGeom::Transform3D EigenTransformToCLHEP(const Amg::Transform3D &eigenTransf)
Converts an Eigen-based Amg::Transform3D into a CLHEP-based HepGeom::Transform3D.
VolumeHandleList::iterator VolumeHandleListItr
VP1GeoFlags::VOLSTATE state() const
bool printInfoOnClick_Transform() const
void ensureInitVisAttributes()
void updateRepresentationsOfVolsAroundZAxis()
static void finished_changeselection(void *userdata, SoSelection *sel)
void loadMaterialsFromFile(const QString &)
SbMatrix getLocalTransformToVolume() const
static bool hasITkGeometry()
virtual void userClickedOnBgd()
void plotSpectrum(QStack< QString > &, int copyNumber=-1)
static bool hasMuonNSWGeometry()
static bool hasPixelGeometry()
void setLastSelectedVolume(VolumeHandle *)
MatVisAttributes * matVisAttributes
bool clickedoutsideScheduled
bool canregistercontroller
static StoreGateSvc * detectorStore()
void updateTouchedMuonChamber(VolumeHandle *chamberhandle)
void updateTransparency()
void showSCTEndcapModules(VolumeHandle *)
static bool hasMuonGeometry()
void volumeStateChangeRequested(VolumeHandle *, VP1GeoFlags::VOLSTATE)
static VP1CameraHelper * animatedZoomToSubTree(SoCamera *camera, SoGroup *sceneroot, SoNode *subtreeroot, double duration_in_secs=1.0, double clipVolPercent=100.0, double lastClipVolPercent=100.0, double slack=1.0, const SbVec3f &lookat=SbVec3f(999, 999, 999), const SbVec3f &upvec=SbVec3f(999, 999, 999), bool varySpeed=true, bool forceCircular=false)
void addSubSystem(const VP1GeoFlags::SubSystemFlag &, const QString &treetopregexp, const QString &childrenregexp="", const std::string &matname="", bool negatetreetopregexp=false, bool negatechildrenregexp=false, const QString &grandchildrenregexp="", bool negategrandchildrenregexp=false)
std::pair< SbVec3f, SbVec3f > getClosestMuonDriftTubeDirections(const SbVec3f &cameraDirection, const SbVec3f &cameraUpDirection, VolumeHandle *chamberhandle)
bool printInfoOnClick_MuonStationInfo() const
void setGeometrySelectable(bool)
static bool changePathTail(SoPath *path, SoNode *commonBranchPoint, SoNode *newtail)
void message(const QString &) const
const SbMatrix & getGlobalTransformToVolume() const
virtual void deselectAll(SoCooperativeSelection *exception_sel=0)
int last_appropriatemdtprojections
void messageVerbose(const QString &) const
bool printInfoOnClick_Shape() const
void createPathExtras(const VolumeHandle *, QString &, QStack< QString > &)
static bool hasGeoModelExperiment()
bool printInfoOnClick_CopyNumber() const
void ensureInitPV2MuonStationMap()
virtual void restoreFromState(QByteArray)