|  | 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);
 
 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)