CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
CmsShowMainBase Class Referenceabstract

#include <CmsShowMainBase.h>

Inheritance diagram for CmsShowMainBase:
CmsShowMain FWFFLooper

Classes

class  SignalTimer
 

Public Member Functions

virtual void autoLoadNewEvent ()=0
 
FWModelChangeManagerchangeManager ()
 
virtual void checkKeyBindingsOnPLayEventsStateChanged ()
 
virtual void checkPosition ()=0
 
 CmsShowMainBase ()
 
FWColorManagercolorManager ()
 
const char * configFilename () const
 
FWConfigurationManagerconfigurationManager ()
 
void doFirstEvent ()
 
void doLastEvent ()
 
void doNextEvent ()
 
void doPreviousEvent ()
 
void draw ()
 
FWEventItemsManagereiManager ()
 
bool forward () const
 
const std::string & geometryFilename (void)
 
FWGeometrygetGeom ()
 
void goToRunEvent (edm::RunNumber_t, edm::LuminosityBlockNumber_t, edm::EventNumber_t)
 
FWGUIManagerguiManager ()
 
bool isPlaying () const
 
void loadGeometry ()
 
bool loop () const
 
FWModelChangeManagermodelChangeManager ()
 
void partialLoadConfiguration (const std::string &config)
 
void partialWriteToConfigFile (const std::string &config)
 
void playBackward ()
 
void playForward ()
 
virtual void quit ()=0
 
void registerPhysicsObject (const FWPhysicsObjectDesc &iItem)
 
void reloadConfiguration (const std::string &config)
 
FWSelectionManagerselectionManager ()
 
void setAutoSaveAllViewsFormat (const std::string &fmt)
 
void setAutoSaveAllViewsHeight (int x)
 
void setConfigFilename (const std::string &f)
 
void setGeometryFilename (const std::string &filename)
 
void setPlayDelay (Float_t val)
 
void setPlayLoop ()
 
void setSimGeometryFilename (const std::string &filename, const std::string &geoname)
 
void setup (FWNavigatorBase *navigator, fireworks::Context *context, FWJobMetadataManager *metadataManager)
 
void setupActions ()
 
void setupAutoLoad (float x)
 
void setupConfiguration ()
 
void setupDebugSupport ()
 
void setupViewManagers ()
 
void startAutoLoadTimer ()
 
CmsShowTaskExecutorstartupTasks ()
 
void stopAutoLoadTimer ()
 
virtual void stopPlaying ()
 
void unsetPlayLoop ()
 
FWViewManagerManagerviewManager ()
 
void writePartialToConfigFile ()
 
void writeToConfigFile (const std::string &config)
 
void writeToCurrentConfigFile ()
 
virtual ~CmsShowMainBase () noexcept(false)
 

Protected Member Functions

fireworks::Contextcontext ()
 
virtual void eventChangedImp ()
 
void eventChangedSlot ()
 
void sendVersionInfo ()
 

Private Member Functions

void setPlayLoopImp ()
 
void unsetPlayLoopImp ()
 

Private Attributes

std::unique_ptr< SignalTimerm_autoLoadTimer
 
bool m_autoLoadTimerRunning
 
std::string m_autoSaveAllViewsFormat
 
int m_autoSaveAllViewsHeight
 
std::unique_ptr
< FWModelChangeManager
m_changeManager
 
std::unique_ptr< FWColorManagerm_colorManager
 
std::string m_configFileName
 
std::unique_ptr
< FWConfigurationManager
m_configurationManager
 
fireworks::Contextm_contextPtr
 
std::unique_ptr
< FWEventItemsManager
m_eiManager
 
bool m_forward
 
FWGeometry m_geom
 
std::string m_geometryFilename
 
std::unique_ptr< FWGUIManagerm_guiManager
 
bool m_isPlaying
 
bool m_loop
 
FWJobMetadataManagerm_metadataManagerPtr
 
FWNavigatorBasem_navigatorPtr
 
Float_t m_playDelay
 
std::unique_ptr
< FWSelectionManager
m_selectionManager
 
std::string m_simGeometryFilename
 
std::unique_ptr
< CmsShowTaskExecutor
m_startupTasks
 
std::string m_TGeoName
 
std::unique_ptr
< FWViewManagerManager
m_viewManager
 

Detailed Description

This is the base class to be used for setting up the main loop and navigation. FF and standalone main should derive from this one, since it takes care of most of the set up and navigation logic. Concrete implementations are actually supposed to create a concrete instance of the Context, FWNavigatorBase and FWJobMetadataManager.

Definition at line 49 of file CmsShowMainBase.h.

Constructor & Destructor Documentation

CmsShowMainBase::CmsShowMainBase ( )

Definition at line 50 of file CmsShowMainBase.cc.

References sendVersionInfo().

55  m_guiManager(nullptr),
59  m_autoLoadTimer(new SignalTimer()),
60  m_navigatorPtr(nullptr),
61  m_metadataManagerPtr(nullptr),
62  m_contextPtr(nullptr),
64  m_autoLoadTimerRunning(kFALSE),
65  m_forward(true),
66  m_isPlaying(false),
67  m_loop(false),
68  m_playDelay(3.f) {
70 }
std::unique_ptr< FWModelChangeManager > m_changeManager
std::unique_ptr< FWGUIManager > m_guiManager
std::unique_ptr< FWSelectionManager > m_selectionManager
std::unique_ptr< FWEventItemsManager > m_eiManager
std::unique_ptr< SignalTimer > m_autoLoadTimer
std::unique_ptr< FWColorManager > m_colorManager
FWNavigatorBase * m_navigatorPtr
std::unique_ptr< CmsShowTaskExecutor > m_startupTasks
FWJobMetadataManager * m_metadataManagerPtr
fireworks::Context * m_contextPtr
std::unique_ptr< FWConfigurationManager > m_configurationManager
std::unique_ptr< FWViewManagerManager > m_viewManager
CmsShowMainBase::~CmsShowMainBase ( )
virtualnoexcept

Definition at line 72 of file CmsShowMainBase.cc.

72 {}

Member Function Documentation

virtual void CmsShowMainBase::autoLoadNewEvent ( )
pure virtual

Implemented in CmsShowMain, and FWFFLooper.

Referenced by setupActions().

FWModelChangeManager* CmsShowMainBase::changeManager ( )
inline

Definition at line 54 of file CmsShowMainBase.h.

References m_changeManager.

54 { return m_changeManager.get(); }
std::unique_ptr< FWModelChangeManager > m_changeManager
virtual void CmsShowMainBase::checkKeyBindingsOnPLayEventsStateChanged ( )
inlinevirtual

Reimplemented in CmsShowMain.

Definition at line 120 of file CmsShowMainBase.h.

Referenced by playBackward(), playForward(), and stopPlaying().

120 {}
virtual void CmsShowMainBase::checkPosition ( )
pure virtual
FWColorManager* CmsShowMainBase::colorManager ( )
inline

Definition at line 55 of file CmsShowMainBase.h.

References m_colorManager.

55 { return m_colorManager.get(); }
std::unique_ptr< FWColorManager > m_colorManager
const char* CmsShowMainBase::configFilename ( ) const
inline
FWConfigurationManager* CmsShowMainBase::configurationManager ( )
inline

Definition at line 56 of file CmsShowMainBase.h.

References m_configurationManager.

Referenced by CmsShowMain::CmsShowMain(), CmsShowMain::setLoadedAnyInputFileAfterStartup(), CmsShowMain::setupDataHandling(), and setupViewManagers().

56 { return m_configurationManager.get(); }
std::unique_ptr< FWConfigurationManager > m_configurationManager
fireworks::Context* CmsShowMainBase::context ( )
inlineprotected

Definition at line 143 of file CmsShowMainBase.h.

References m_contextPtr.

Referenced by FWFFLooper::beginRun(), and setup().

143 { return m_contextPtr; }
fireworks::Context * m_contextPtr
void CmsShowMainBase::doFirstEvent ( )

Definition at line 147 of file CmsShowMainBase.cc.

References checkPosition(), draw(), FWNavigatorBase::firstEvent(), and m_navigatorPtr.

Referenced by setupActions().

147  {
149  checkPosition();
150  draw();
151 }
virtual void checkPosition()=0
FWNavigatorBase * m_navigatorPtr
virtual void firstEvent()=0
void CmsShowMainBase::doLastEvent ( )

Definition at line 164 of file CmsShowMainBase.cc.

References checkPosition(), draw(), FWNavigatorBase::lastEvent(), and m_navigatorPtr.

Referenced by setupActions().

164  {
166  checkPosition();
167  draw();
168 }
virtual void checkPosition()=0
FWNavigatorBase * m_navigatorPtr
virtual void lastEvent()=0
void CmsShowMainBase::doNextEvent ( )

Definition at line 153 of file CmsShowMainBase.cc.

References checkPosition(), draw(), m_navigatorPtr, and FWNavigatorBase::nextEvent().

Referenced by setupActions().

153  {
155  checkPosition();
156  draw();
157 }
virtual void nextEvent()=0
virtual void checkPosition()=0
FWNavigatorBase * m_navigatorPtr
void CmsShowMainBase::doPreviousEvent ( )

Definition at line 159 of file CmsShowMainBase.cc.

References checkPosition(), draw(), m_navigatorPtr, and FWNavigatorBase::previousEvent().

Referenced by setupActions().

159  {
161  checkPosition();
162  draw();
163 }
virtual void checkPosition()=0
FWNavigatorBase * m_navigatorPtr
virtual void previousEvent()=0
void CmsShowMainBase::draw ( )

Definition at line 176 of file CmsShowMainBase.cc.

References FWBeamSpot::checkBeamSpot(), FWMagField::checkFieldInfo(), fwLog, fireworks::Context::getBeamSpot(), FWNavigatorBase::getCurrentEvent(), fireworks::Context::getField(), FWMagField::getSource(), fwlog::kDebug, FWMagField::kUser, m_autoSaveAllViewsFormat, m_autoSaveAllViewsHeight, m_contextPtr, m_eiManager, m_guiManager, m_navigatorPtr, and m_viewManager.

Referenced by CmsShowMain::appendData(), CmsShowMain::autoLoadNewEvent(), doFirstEvent(), doLastEvent(), doNextEvent(), doPreviousEvent(), FWFFLooper::duringLoop(), goToRunEvent(), CmsShowMain::notified(), CmsShowMain::openData(), CmsShowMain::openDataViaURL(), and CmsShowMain::postFiltering().

176  {
177  m_guiManager->updateStatus("loading event ...");
178 
181  }
183 
184  TStopwatch sw;
185  m_viewManager->eventBegin();
187  m_viewManager->eventEnd();
188  sw.Stop();
189  fwLog(fwlog::kDebug) << "CmsShowMainBase::draw CpuTime " << sw.CpuTime() << " RealTime " << sw.RealTime()
190  << std::endl;
191 
192  if (!m_autoSaveAllViewsFormat.empty()) {
193  m_guiManager->updateStatus("auto saving images ...");
195  }
196  m_guiManager->clearStatus();
197 }
std::unique_ptr< FWGUIManager > m_guiManager
std::unique_ptr< FWEventItemsManager > m_eiManager
void checkBeamSpot(const edm::EventBase *event)
Definition: FWBeamSpot.cc:6
FWNavigatorBase * m_navigatorPtr
FWBeamSpot * getBeamSpot() const
Definition: Context.h:67
FWMagField * getField() const
Definition: Context.h:66
ESource getSource() const
Definition: FWMagField.h:31
virtual const edm::EventBase * getCurrentEvent() const =0
void checkFieldInfo(const edm::EventBase *)
Definition: FWMagField.cc:144
#define fwLog(_level_)
Definition: fwLog.h:45
fireworks::Context * m_contextPtr
std::unique_ptr< FWViewManagerManager > m_viewManager
std::string m_autoSaveAllViewsFormat
FWEventItemsManager* CmsShowMainBase::eiManager ( )
inline

Definition at line 57 of file CmsShowMainBase.h.

References m_eiManager.

Referenced by CmsShowMain::CmsShowMain(), FWFFLooper::FWFFLooper(), CmsShowMain::setupDataHandling(), and setupViewManagers().

57 { return m_eiManager.get(); }
std::unique_ptr< FWEventItemsManager > m_eiManager
void CmsShowMainBase::eventChangedImp ( )
protectedvirtual

Reimplemented in CmsShowMain.

Definition at line 145 of file CmsShowMainBase.cc.

References FWGUIManager::eventChangedCallback(), and guiManager().

Referenced by CmsShowMain::eventChangedImp(), and eventChangedSlot().

FWGUIManager * guiManager()
void eventChangedCallback()
void CmsShowMainBase::eventChangedSlot ( )
protected

Definition at line 143 of file CmsShowMainBase.cc.

References eventChangedImp().

Referenced by setupActions().

143 { eventChangedImp(); }
virtual void eventChangedImp()
bool CmsShowMainBase::forward ( ) const
inline

Definition at line 106 of file CmsShowMainBase.h.

References m_forward.

Referenced by FWFFLooper::autoLoadNewEvent(), CmsShowMain::autoLoadNewEvent(), and CmsShowMain::notified().

106 { return m_forward; }
const std::string& CmsShowMainBase::geometryFilename ( void  )
inline

Definition at line 91 of file CmsShowMainBase.h.

References m_geometryFilename.

Referenced by CmsShowMain::CmsShowMain(), CmsShowMain::fileChangedSlot(), and FWFFLooper::FWFFLooper().

91 { return m_geometryFilename; }
std::string m_geometryFilename
FWGeometry& CmsShowMainBase::getGeom ( )
inline

Definition at line 92 of file CmsShowMainBase.h.

References m_geom.

Referenced by FWFFLooper::beginRun().

92 { return m_geom; }
void CmsShowMainBase::goToRunEvent ( edm::RunNumber_t  run,
edm::LuminosityBlockNumber_t  lumi,
edm::EventNumber_t  event 
)

Definition at line 170 of file CmsShowMainBase.cc.

References checkPosition(), draw(), FWNavigatorBase::goToRunEvent(), and m_navigatorPtr.

Referenced by setupActions().

170  {
172  checkPosition();
173  draw();
174 }
virtual void goToRunEvent(edm::RunNumber_t, edm::LuminosityBlockNumber_t, edm::EventNumber_t)=0
virtual void checkPosition()=0
FWNavigatorBase * m_navigatorPtr
list lumi
Definition: dqmdumpme.py:53
FWGUIManager* CmsShowMainBase::guiManager ( )
inline
bool CmsShowMainBase::isPlaying ( ) const
inline
void CmsShowMainBase::loadGeometry ( )

Definition at line 395 of file CmsShowMainBase.cc.

References beamvalidation::exit(), fwLog, guiManager(), fwlog::kError, FWGeometry::loadMap(), m_geom, m_geometryFilename, and FWGUIManager::updateStatus().

Referenced by FWFFLooper::beginRun(), CmsShowMain::CmsShowMain(), and FWFFLooper::loadDefaultGeometryFile().

395  { // prepare geometry service
396  // ATTN: this should be made configurable
397  try {
398  guiManager()->updateStatus("Loading geometry...");
400  } catch (const std::runtime_error &iException) {
401  fwLog(fwlog::kError) << "CmsShowMain::loadGeometry() caught exception: \n"
402  << m_geometryFilename << " " << iException.what() << std::endl;
403  exit(0);
404  }
405 }
std::string m_geometryFilename
FWGUIManager * guiManager()
void updateStatus(const char *status)
void loadMap(const char *fileName)
Definition: FWGeometry.cc:103
#define fwLog(_level_)
Definition: fwLog.h:45
bool CmsShowMainBase::loop ( ) const
inline
FWModelChangeManager* CmsShowMainBase::modelChangeManager ( )
inline

Definition at line 58 of file CmsShowMainBase.h.

References m_changeManager.

58 { return m_changeManager.get(); }
std::unique_ptr< FWModelChangeManager > m_changeManager
void CmsShowMainBase::partialLoadConfiguration ( const std::string &  config)

Definition at line 297 of file CmsShowMainBase.cc.

References m_configurationManager, and m_eiManager.

Referenced by setup().

297  {
299 }
std::unique_ptr< FWEventItemsManager > m_eiManager
std::unique_ptr< FWConfigurationManager > m_configurationManager
void CmsShowMainBase::partialWriteToConfigFile ( const std::string &  config)
void CmsShowMainBase::playBackward ( )

Definition at line 387 of file CmsShowMainBase.cc.

References checkKeyBindingsOnPLayEventsStateChanged(), FWGUIManager::enableActions(), guiManager(), m_forward, m_isPlaying, and startAutoLoadTimer().

Referenced by setupActions().

387  {
388  m_forward = false;
389  m_isPlaying = true;
390  guiManager()->enableActions(kFALSE);
393 }
FWGUIManager * guiManager()
void enableActions(bool enable=true)
virtual void checkKeyBindingsOnPLayEventsStateChanged()
void CmsShowMainBase::playForward ( )

Definition at line 379 of file CmsShowMainBase.cc.

References checkKeyBindingsOnPLayEventsStateChanged(), FWGUIManager::enableActions(), guiManager(), m_forward, m_isPlaying, and startAutoLoadTimer().

Referenced by setupActions().

379  {
380  m_forward = true;
381  m_isPlaying = true;
382  guiManager()->enableActions(kFALSE);
385 }
FWGUIManager * guiManager()
void enableActions(bool enable=true)
virtual void checkKeyBindingsOnPLayEventsStateChanged()
virtual void CmsShowMainBase::quit ( )
pure virtual

Implemented in FWFFLooper, and CmsShowMain.

Referenced by setupActions().

void CmsShowMainBase::registerPhysicsObject ( const FWPhysicsObjectDesc iItem)

Definition at line 372 of file CmsShowMainBase.cc.

References m_eiManager.

372 { m_eiManager->add(iItem); }
std::unique_ptr< FWEventItemsManager > m_eiManager
void CmsShowMainBase::reloadConfiguration ( const std::string &  config)

Definition at line 258 of file CmsShowMainBase.cc.

References submitPVResolutionJobs::config, alignCSCRings::e, SimpleSAXParser::ParserError::error(), fwLog, fwlog::kDebug, m_configFileName, m_configurationManager, m_eiManager, m_guiManager, mps_check::msg, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by setup().

258  {
259  if (config.empty())
260  return;
261 
263 
264  std::string msg = "Reloading configuration " + config + "...";
265  fwLog(fwlog::kDebug) << msg << std::endl;
266  m_guiManager->updateStatus(msg.c_str());
267  m_guiManager->subviewDestroyAll();
268  m_eiManager->clearItems();
270  try {
271  gEve->DisableRedraw();
272  m_configurationManager->readFromFile(config);
273  gEve->EnableRedraw();
274  } catch (SimpleSAXParser::ParserError &e) {
275  Int_t chosen;
276  new TGMsgBox(gClient->GetDefaultRoot(),
277  gClient->GetDefaultRoot(),
278  "Bad configuration",
279  ("Configuration " + config + " cannot be parsed: " + e.error()).c_str(),
280  kMBIconExclamation,
281  kMBCancel,
282  &chosen);
283  } catch (...) {
284  Int_t chosen;
285  new TGMsgBox(gClient->GetDefaultRoot(),
286  gClient->GetDefaultRoot(),
287  "Bad configuration",
288  ("Configuration " + config + " cannot be parsed.").c_str(),
289  kMBIconExclamation,
290  kMBCancel,
291  &chosen);
292  }
293 
294  m_guiManager->updateStatus("");
295 }
std::unique_ptr< FWGUIManager > m_guiManager
std::unique_ptr< FWEventItemsManager > m_eiManager
#define fwLog(_level_)
Definition: fwLog.h:45
tuple msg
Definition: mps_check.py:285
std::unique_ptr< FWConfigurationManager > m_configurationManager
tuple config
parse the configuration file
std::string m_configFileName
FWSelectionManager* CmsShowMainBase::selectionManager ( )
inline

Definition at line 59 of file CmsShowMainBase.h.

References m_selectionManager.

Referenced by CmsShowMain::~CmsShowMain().

59 { return m_selectionManager.get(); }
std::unique_ptr< FWSelectionManager > m_selectionManager
void CmsShowMainBase::sendVersionInfo ( )
protected

Definition at line 407 of file CmsShowMainBase.cc.

References h, mps_check::msg, sd, and fireworks::setPath().

Referenced by CmsShowMainBase().

407  {
408  // Send version info to xrootd.t2.ucsd.edu receiver on port 9698.
409 
410  // receiver
411  struct hostent *h = gethostbyname("xrootd.t2.ucsd.edu");
412  if (!h)
413  return;
414 
415  struct sockaddr_in remoteServAddr;
416  remoteServAddr.sin_family = h->h_addrtype;
417  memcpy((char *)&remoteServAddr.sin_addr.s_addr, h->h_addr_list[0], h->h_length);
418  remoteServAddr.sin_port = htons(9698);
419 
420  // socket creation
421  int sd = socket(AF_INET, SOCK_DGRAM, 0);
422  if (sd < 0) {
423  // std::cout << "can't create socket \n";
424  return;
425  }
426  // bind any port
427  // printf("bind port\n");
428  struct sockaddr_in cliAddr;
429  cliAddr.sin_family = AF_INET;
430  cliAddr.sin_addr.s_addr = htonl(INADDR_ANY);
431  cliAddr.sin_port = htons(0);
432 
433  int rc = bind(sd, (struct sockaddr *)&cliAddr, sizeof(cliAddr));
434  if (rc < 0) {
435  // std::cout << "can't bind port %d " << rc << std::endl;
436  return;
437  }
438 
439  // get OSX version
440  TString osx_version;
441  try {
442  std::ifstream infoFile("/System/Library/CoreServices/SystemVersion.plist");
443  osx_version.ReadFile(infoFile);
444  TPMERegexp re("ProductVersion\\</key\\>\\n\\t\\<string\\>(10.*)\\</string\\>");
445  re.Match(osx_version);
446  osx_version = re[1];
447  } catch (...) {
448  }
449 
450  // send data
451  SysInfo_t sInfo;
452  gSystem->GetSysInfo(&sInfo);
453  char msg[128];
454 
455  if (gSystem->Getenv("CMSSW_VERSION")) {
456  snprintf(msg, 64, "%s %s %s", gSystem->Getenv("CMSSW_VERSION"), sInfo.fOS.Data(), osx_version.Data());
457  } else {
458  TString versionFileName("data/version.txt");
459  fireworks::setPath(versionFileName);
460  std::ifstream fs(versionFileName);
461  TString infoText;
462  infoText.ReadLine(fs);
463  fs.close();
464  snprintf(msg, 64, "Standalone %s %s %s", infoText.Data(), sInfo.fOS.Data(), osx_version.Data());
465  }
466 
467  int flags = 0;
468  sendto(sd, msg, strlen(msg), flags, (struct sockaddr *)&remoteServAddr, sizeof(remoteServAddr));
469 }
double sd
tuple msg
Definition: mps_check.py:285
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
void setPath(TString &v)
Definition: fwPaths.cc:15
void CmsShowMainBase::setAutoSaveAllViewsFormat ( const std::string &  fmt)
inline

Definition at line 127 of file CmsShowMainBase.h.

References m_autoSaveAllViewsFormat.

Referenced by CmsShowMain::CmsShowMain().

127 { m_autoSaveAllViewsFormat = fmt; }
std::string m_autoSaveAllViewsFormat
void CmsShowMainBase::setAutoSaveAllViewsHeight ( int  x)
inline

Definition at line 128 of file CmsShowMainBase.h.

References m_autoSaveAllViewsHeight, and x.

Referenced by CmsShowMain::CmsShowMain().

void CmsShowMainBase::setConfigFilename ( const std::string &  f)
inline

Definition at line 74 of file CmsShowMainBase.h.

References validate-o2o-wbm::f, and m_configFileName.

Referenced by CmsShowMain::CmsShowMain(), and FWFFLooper::FWFFLooper().

74 { m_configFileName = f; };
std::string m_configFileName
void CmsShowMainBase::setGeometryFilename ( const std::string &  filename)
inline
void CmsShowMainBase::setPlayDelay ( Float_t  val)
void CmsShowMainBase::setPlayLoop ( )

Definition at line 354 of file CmsShowMainBase.cc.

References m_guiManager, m_loop, and setPlayLoopImp().

Referenced by CmsShowMain::CmsShowMain().

354  {
355  if (!m_loop) {
356  setPlayLoopImp();
357  m_guiManager->loopAction()->activated();
358  }
359 }
std::unique_ptr< FWGUIManager > m_guiManager
void CmsShowMainBase::setPlayLoopImp ( )
private

Definition at line 368 of file CmsShowMainBase.cc.

References m_loop.

Referenced by setPlayLoop(), and setupActions().

368 { m_loop = true; }
void CmsShowMainBase::setSimGeometryFilename ( const std::string &  filename,
const std::string &  geoname 
)
inline

Definition at line 94 of file CmsShowMainBase.h.

References lut2db_cfg::filename, m_simGeometryFilename, and m_TGeoName.

Referenced by CmsShowMain::CmsShowMain().

94  {
96  m_TGeoName = geoname;
97  }
std::string m_TGeoName
std::string m_simGeometryFilename
tuple filename
Definition: lut2db_cfg.py:20
void CmsShowMainBase::setup ( FWNavigatorBase navigator,
fireworks::Context context,
FWJobMetadataManager metadataManager 
)

Definition at line 199 of file CmsShowMainBase.cc.

References newFWLiteAna::base, FWGUIManager::clearStatus(), context(), fireworks::Context::initEveElements(), m_changeManager, m_colorManager, m_configurationManager, m_contextPtr, m_eiManager, m_geom, m_guiManager, m_metadataManagerPtr, m_navigatorPtr, m_startupTasks, m_viewManager, HLT_FULL_cff::navigator, FWModelChangeManager::newItemSlot(), partialLoadConfiguration(), partialWriteToConfigFile(), FWViewManagerManager::registerEventItem(), reloadConfiguration(), fireworks::Context::setGeom(), AlCaHLTBitMon_QueryRunRegistry::string, and writeToConfigFile().

Referenced by CmsShowMain::CmsShowMain(), and FWFFLooper::FWFFLooper().

201  {
205  m_metadataManagerPtr = metadataManager;
206 
207  m_colorManager->initialize();
209  m_guiManager = std::make_unique<FWGUIManager>(m_contextPtr, m_viewManager.get(), m_navigatorPtr);
210 
211  m_eiManager->newItem_.connect(
212  std::bind(&FWModelChangeManager::newItemSlot, m_changeManager.get(), std::placeholders::_1));
213 
214  m_eiManager->newItem_.connect(
215  std::bind(&FWViewManagerManager::registerEventItem, m_viewManager.get(), std::placeholders::_1));
216  m_configurationManager->add("EventItems", m_eiManager.get());
217  m_configurationManager->add("GUI", m_guiManager.get());
218  m_configurationManager->add("EventNavigator", m_navigatorPtr);
219  m_configurationManager->add("CommonPreferences",
220  m_contextPtr->commonPrefs()); // must be after GUIManager in alphabetical order
221 
222  m_guiManager->writeToConfigurationFile_.connect(
223  std::bind(&CmsShowMainBase::writeToConfigFile, this, std::placeholders::_1));
224 
225  m_guiManager->loadFromConfigurationFile_.connect(
226  std::bind(&CmsShowMainBase::reloadConfiguration, this, std::placeholders::_1));
227  m_guiManager->loadPartialFromConfigurationFile_.connect(
228  std::bind(&CmsShowMainBase::partialLoadConfiguration, this, std::placeholders::_1));
229 
230  m_guiManager->writePartialToConfigurationFile_.connect(
231  std::bind(&CmsShowMainBase::partialWriteToConfigFile, this, std::placeholders::_1));
232 
233  std::string macPath(gSystem->Getenv("CMSSW_BASE"));
234  macPath += "/src/Fireworks/Core/macros";
235  const char *base = gSystem->Getenv("CMSSW_RELEASE_BASE");
236  if (nullptr != base) {
237  macPath += ":";
238  macPath += base;
239  macPath += "/src/Fireworks/Core/macros";
240  }
241  gROOT->SetMacroPath((std::string("./:") + macPath).c_str());
242 
243  m_startupTasks->tasksCompleted_.connect(std::bind(&FWGUIManager::clearStatus, m_guiManager.get()));
244 }
tuple base
Main Program
Definition: newFWLiteAna.py:92
void partialWriteToConfigFile(const std::string &config)
void registerEventItem(const FWEventItem *iItem)
void writeToConfigFile(const std::string &config)
std::unique_ptr< FWModelChangeManager > m_changeManager
std::unique_ptr< FWGUIManager > m_guiManager
std::unique_ptr< FWEventItemsManager > m_eiManager
void partialLoadConfiguration(const std::string &config)
void initEveElements()
Definition: Context.cc:86
std::unique_ptr< FWColorManager > m_colorManager
FWNavigatorBase * m_navigatorPtr
void newItemSlot(FWEventItem *)
void reloadConfiguration(const std::string &config)
std::unique_ptr< CmsShowTaskExecutor > m_startupTasks
FWJobMetadataManager * m_metadataManagerPtr
fireworks::Context * context()
void setGeom(FWGeometry *x)
Definition: Context.h:50
void clearStatus()
fireworks::Context * m_contextPtr
std::unique_ptr< FWConfigurationManager > m_configurationManager
std::unique_ptr< FWViewManagerManager > m_viewManager
void CmsShowMainBase::setupActions ( )

Definition at line 74 of file CmsShowMainBase.cc.

References autoLoadNewEvent(), doFirstEvent(), doLastEvent(), doNextEvent(), doPreviousEvent(), eventChangedSlot(), goToRunEvent(), m_autoLoadTimer, m_guiManager, m_navigatorPtr, m_playDelay, FWNavigatorBase::newEvent_, playBackward(), playForward(), quit(), setPlayDelay(), setPlayLoopImp(), cmsshow::sGotoFirstEvent, cmsshow::sGotoLastEvent, cmsshow::sNextEvent, cmsshow::sPreviousEvent, cmsshow::sQuit, stopPlaying(), unsetPlayLoopImp(), and writeToCurrentConfigFile().

Referenced by FWFFLooper::beginRun(), and CmsShowMain::setupDataHandling().

74  {
75  m_guiManager->writeToPresentConfigurationFile_.connect(
76  sigc::mem_fun(*this, &CmsShowMainBase::writeToCurrentConfigFile));
77 
78  // init TGSlider state before signals are connected
79  m_guiManager->setDelayBetweenEvents(m_playDelay);
80 
82  if (m_guiManager->getAction(cmsshow::sNextEvent) != nullptr)
83  m_guiManager->getAction(cmsshow::sNextEvent)->activated.connect(sigc::mem_fun(*this, &CmsShowMainBase::doNextEvent));
84  if (m_guiManager->getAction(cmsshow::sPreviousEvent) != nullptr)
86  ->activated.connect(sigc::mem_fun(*this, &CmsShowMainBase::doPreviousEvent));
87  if (m_guiManager->getAction(cmsshow::sGotoFirstEvent) != nullptr)
89  ->activated.connect(sigc::mem_fun(*this, &CmsShowMainBase::doFirstEvent));
90  if (m_guiManager->getAction(cmsshow::sGotoLastEvent) != nullptr)
92  ->activated.connect(sigc::mem_fun(*this, &CmsShowMainBase::doLastEvent));
93  if (m_guiManager->getAction(cmsshow::sQuit) != nullptr)
94  m_guiManager->getAction(cmsshow::sQuit)->activated.connect(sigc::mem_fun(*this, &CmsShowMainBase::quit));
95 
96  m_guiManager->changedEventId_.connect(std::bind(
97  &CmsShowMainBase::goToRunEvent, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3));
98  m_guiManager->playEventsAction()->started_.connect(sigc::mem_fun(*this, &CmsShowMainBase::playForward));
99  m_guiManager->playEventsBackwardsAction()->started_.connect(sigc::mem_fun(*this, &CmsShowMainBase::playBackward));
100  m_guiManager->loopAction()->started_.connect(sigc::mem_fun(*this, &CmsShowMainBase::setPlayLoopImp));
101  m_guiManager->loopAction()->stopped_.connect(sigc::mem_fun(*this, &CmsShowMainBase::unsetPlayLoopImp));
102  m_guiManager->changedDelayBetweenEvents_.connect(
103  std::bind(&CmsShowMainBase::setPlayDelay, this, std::placeholders::_1));
104  m_guiManager->playEventsAction()->stopped_.connect(sigc::mem_fun(*this, &CmsShowMainBase::stopPlaying));
105  m_guiManager->playEventsBackwardsAction()->stopped_.connect(sigc::mem_fun(*this, &CmsShowMainBase::stopPlaying));
106 
107  m_autoLoadTimer->timeout_.connect(std::bind(&CmsShowMainBase::autoLoadNewEvent, this));
108 }
std::unique_ptr< FWGUIManager > m_guiManager
std::unique_ptr< SignalTimer > m_autoLoadTimer
const std::string sNextEvent
Definition: ActionsList.cc:5
FWNavigatorBase * m_navigatorPtr
virtual void stopPlaying()
void setPlayDelay(Float_t val)
virtual void quit()=0
const std::string sGotoLastEvent
Definition: ActionsList.cc:4
virtual void autoLoadNewEvent()=0
const std::string sGotoFirstEvent
Definition: ActionsList.cc:3
const std::string sPreviousEvent
Definition: ActionsList.cc:6
void writeToCurrentConfigFile()
const std::string sQuit
Definition: ActionsList.cc:27
void goToRunEvent(edm::RunNumber_t, edm::LuminosityBlockNumber_t, edm::EventNumber_t)
sigc::signal< void > newEvent_
void CmsShowMainBase::setupAutoLoad ( float  x)

Definition at line 301 of file CmsShowMainBase.cc.

References m_guiManager, m_playDelay, and x.

Referenced by CmsShowMain::CmsShowMain().

301  {
302  m_playDelay = x;
303  m_guiManager->setDelayBetweenEvents(m_playDelay);
304  if (!m_guiManager->playEventsAction()->isEnabled())
305  m_guiManager->playEventsAction()->enable();
306 
307  m_guiManager->playEventsAction()->switchMode();
308 }
std::unique_ptr< FWGUIManager > m_guiManager
void CmsShowMainBase::setupConfiguration ( )

Definition at line 322 of file CmsShowMainBase.cc.

References alignCSCRings::e, SimpleSAXParser::ParserError::error(), beamvalidation::exit(), fwLog, fwlog::kError, m_configFileName, m_configurationManager, m_guiManager, and m_metadataManagerPtr.

Referenced by FWFFLooper::beginRun(), CmsShowMain::setLoadedAnyInputFileAfterStartup(), and CmsShowMain::setupDataHandling().

322  {
323  m_guiManager->updateStatus("Setting up configuration...");
324 
325  try {
326  gEve->DisableRedraw();
327  if (m_configFileName.empty()) {
329  } else {
330  char *whereConfig = gSystem->Which(TROOT::GetMacroPath(), m_configFileName.c_str(), kReadPermission);
331  m_configFileName = whereConfig;
332  delete[] whereConfig;
334  }
335  gEve->EnableRedraw();
336  } catch (SimpleSAXParser::ParserError &e) {
337  fwLog(fwlog::kError) << "Unable to load configuration file '" << m_configFileName << "': " << e.error()
338  << std::endl;
339  exit(1);
340  } catch (std::runtime_error &e) {
341  fwLog(fwlog::kError) << "Unable to load configuration file '" << m_configFileName
342  << "' which was specified on command line. Quitting." << std::endl;
343  exit(1);
344  }
345 }
std::unique_ptr< FWGUIManager > m_guiManager
FWJobMetadataManager * m_metadataManagerPtr
#define fwLog(_level_)
Definition: fwLog.h:45
std::unique_ptr< FWConfigurationManager > m_configurationManager
std::string m_configFileName
void CmsShowMainBase::setupDebugSupport ( )

Definition at line 349 of file CmsShowMainBase.cc.

References m_guiManager.

Referenced by CmsShowMain::CmsShowMain().

349  {
350  m_guiManager->updateStatus("Setting up Eve debug window...");
351  m_guiManager->openEveBrowserForDebugging();
352 }
std::unique_ptr< FWGUIManager > m_guiManager
void CmsShowMainBase::setupViewManagers ( )

Definition at line 110 of file CmsShowMainBase.cc.

References FWViewManagerManager::add(), FWConfigurationManager::add(), configurationManager(), eiManager(), FWEventItemsManager::goingToClearItems_, guiManager(), FWJobMetadataManager::initReps(), m_contextPtr, m_metadataManagerPtr, m_simGeometryFilename, m_TGeoName, FWTableViewManager::removeAllItems(), AlCaHLTBitMon_QueryRunRegistry::string, FWGUIManager::updateStatus(), and viewManager().

Referenced by FWFFLooper::beginRun(), and CmsShowMain::CmsShowMain().

110  {
111  guiManager()->updateStatus("Setting up view manager...");
112 
113  std::shared_ptr<FWViewManagerBase> eveViewManager = std::make_shared<FWEveViewManager>(guiManager());
114  eveViewManager->setContext(m_contextPtr);
115  viewManager()->add(eveViewManager);
116 
117  auto tableViewManager = std::make_shared<FWTableViewManager>(guiManager());
118  configurationManager()->add(std::string("Tables"), tableViewManager.get());
119  viewManager()->add(tableViewManager);
120  eiManager()->goingToClearItems_.connect(std::bind(&FWTableViewManager::removeAllItems, tableViewManager.get()));
121 
122  auto triggerTableViewManager = std::make_shared<FWTriggerTableViewManager>(guiManager());
123  configurationManager()->add(std::string("TriggerTables"), triggerTableViewManager.get());
124  configurationManager()->add(std::string("L1TriggerTables"),
125  triggerTableViewManager.get()); // AMT: added for backward compatibilty
126  triggerTableViewManager->setContext(m_contextPtr);
127  viewManager()->add(triggerTableViewManager);
128 
129  auto geoTableViewManager =
130  std::make_shared<FWGeometryTableViewManager>(guiManager(), m_simGeometryFilename, m_TGeoName);
131  geoTableViewManager->setContext(m_contextPtr);
132  viewManager()->add(geoTableViewManager);
133 
134  // Unfortunately, due to the plugin mechanism, we need to delay
135  // until here the creation of the FWJobMetadataManager, because
136  // otherwise the supportedTypesAndRepresentations map is empty.
137  // FIXME: should we have a signal for whenever the above mentioned map
138  // changes? Can that actually happer (maybe if we add support
139  // for loading plugins on the fly??).
140  m_metadataManagerPtr->initReps(viewManager()->supportedTypesAndRepresentations());
141 }
FWGUIManager * guiManager()
FWEventItemsManager * eiManager()
void initReps(const FWTypeToRepresentations &iTypeAndReps)
void updateStatus(const char *status)
FWJobMetadataManager * m_metadataManagerPtr
std::string m_TGeoName
void add(std::shared_ptr< FWViewManagerBase >)
FWViewManagerManager * viewManager()
std::string m_simGeometryFilename
fireworks::Context * m_contextPtr
void add(const std::string &iName, FWConfigurable *)
does not take ownership
FWConfigurationManager * configurationManager()
sigc::signal< void > goingToClearItems_
void CmsShowMainBase::startAutoLoadTimer ( )

Definition at line 310 of file CmsShowMainBase.cc.

References m_autoLoadTimer, m_autoLoadTimerRunning, and m_playDelay.

Referenced by CmsShowMain::autoLoadNewEvent(), FWFFLooper::duringLoop(), playBackward(), and playForward().

310  {
311  m_autoLoadTimer->SetTime((Long_t)(m_playDelay * 1000));
312  m_autoLoadTimer->Reset();
313  m_autoLoadTimer->TurnOn();
314  m_autoLoadTimerRunning = kTRUE;
315 }
std::unique_ptr< SignalTimer > m_autoLoadTimer
CmsShowTaskExecutor* CmsShowMainBase::startupTasks ( )
inline

Definition at line 66 of file CmsShowMainBase.h.

References m_startupTasks.

Referenced by CmsShowMain::CmsShowMain(), FWFFLooper::loadDefaultGeometryFile(), and FWFFLooper::startingNewLoop().

66 { return m_startupTasks.get(); }
std::unique_ptr< CmsShowTaskExecutor > m_startupTasks
void CmsShowMainBase::stopAutoLoadTimer ( )

Definition at line 317 of file CmsShowMainBase.cc.

References m_autoLoadTimer, and m_autoLoadTimerRunning.

Referenced by FWFFLooper::autoLoadNewEvent(), CmsShowMain::autoLoadNewEvent(), FWFFLooper::stopPlaying(), and CmsShowMain::stopPlaying().

317  {
318  m_autoLoadTimer->TurnOff();
319  m_autoLoadTimerRunning = kFALSE;
320 }
std::unique_ptr< SignalTimer > m_autoLoadTimer
void CmsShowMainBase::stopPlaying ( )
virtual
void CmsShowMainBase::unsetPlayLoop ( )

Definition at line 361 of file CmsShowMainBase.cc.

References m_guiManager, m_loop, and unsetPlayLoopImp().

361  {
362  if (m_loop) {
364  m_guiManager->loopAction()->stop();
365  }
366 }
std::unique_ptr< FWGUIManager > m_guiManager
void CmsShowMainBase::unsetPlayLoopImp ( )
private

Definition at line 370 of file CmsShowMainBase.cc.

References m_loop.

Referenced by setupActions(), and unsetPlayLoop().

370 { m_loop = false; }
FWViewManagerManager* CmsShowMainBase::viewManager ( )
inline

Definition at line 60 of file CmsShowMainBase.h.

References m_viewManager.

Referenced by setupViewManagers().

60 { return m_viewManager.get(); }
std::unique_ptr< FWViewManagerManager > m_viewManager
void CmsShowMainBase::writePartialToConfigFile ( )
void CmsShowMainBase::writeToConfigFile ( const std::string &  config)

Definition at line 246 of file CmsShowMainBase.cc.

References m_configFileName, m_configurationManager, and mergeVDriftHistosByStation::name.

Referenced by setup().

246  {
249 }
std::unique_ptr< FWConfigurationManager > m_configurationManager
std::string m_configFileName
void CmsShowMainBase::writeToCurrentConfigFile ( )

Definition at line 251 of file CmsShowMainBase.cc.

References m_configFileName, and m_configurationManager.

Referenced by setupActions().

251 { m_configurationManager->writeToFile(m_configFileName); }
std::unique_ptr< FWConfigurationManager > m_configurationManager
std::string m_configFileName

Member Data Documentation

std::unique_ptr<SignalTimer> CmsShowMainBase::m_autoLoadTimer
private

Definition at line 157 of file CmsShowMainBase.h.

Referenced by setupActions(), startAutoLoadTimer(), and stopAutoLoadTimer().

bool CmsShowMainBase::m_autoLoadTimerRunning
private

Definition at line 170 of file CmsShowMainBase.h.

Referenced by startAutoLoadTimer(), and stopAutoLoadTimer().

std::string CmsShowMainBase::m_autoSaveAllViewsFormat
private

Definition at line 168 of file CmsShowMainBase.h.

Referenced by draw(), and setAutoSaveAllViewsFormat().

int CmsShowMainBase::m_autoSaveAllViewsHeight
private

Definition at line 169 of file CmsShowMainBase.h.

Referenced by draw(), and setAutoSaveAllViewsHeight().

std::unique_ptr<FWModelChangeManager> CmsShowMainBase::m_changeManager
private

Definition at line 148 of file CmsShowMainBase.h.

Referenced by changeManager(), modelChangeManager(), and setup().

std::unique_ptr<FWColorManager> CmsShowMainBase::m_colorManager
private

Definition at line 149 of file CmsShowMainBase.h.

Referenced by colorManager(), and setup().

std::string CmsShowMainBase::m_configFileName
private
std::unique_ptr<FWConfigurationManager> CmsShowMainBase::m_configurationManager
private
fireworks::Context* CmsShowMainBase::m_contextPtr
private

Definition at line 163 of file CmsShowMainBase.h.

Referenced by context(), draw(), setup(), and setupViewManagers().

std::unique_ptr<FWEventItemsManager> CmsShowMainBase::m_eiManager
private
bool CmsShowMainBase::m_forward
private

Definition at line 171 of file CmsShowMainBase.h.

Referenced by forward(), playBackward(), and playForward().

FWGeometry CmsShowMainBase::m_geom
private

Definition at line 177 of file CmsShowMainBase.h.

Referenced by getGeom(), loadGeometry(), and setup().

std::string CmsShowMainBase::m_geometryFilename
private

Definition at line 176 of file CmsShowMainBase.h.

Referenced by geometryFilename(), loadGeometry(), and setGeometryFilename().

std::unique_ptr<FWGUIManager> CmsShowMainBase::m_guiManager
private
bool CmsShowMainBase::m_isPlaying
private

Definition at line 172 of file CmsShowMainBase.h.

Referenced by isPlaying(), playBackward(), playForward(), and stopPlaying().

bool CmsShowMainBase::m_loop
private

Definition at line 173 of file CmsShowMainBase.h.

Referenced by loop(), setPlayLoop(), setPlayLoopImp(), unsetPlayLoop(), and unsetPlayLoopImp().

FWJobMetadataManager* CmsShowMainBase::m_metadataManagerPtr
private

Definition at line 162 of file CmsShowMainBase.h.

Referenced by setup(), setupConfiguration(), and setupViewManagers().

FWNavigatorBase* CmsShowMainBase::m_navigatorPtr
private
Float_t CmsShowMainBase::m_playDelay
private

Definition at line 174 of file CmsShowMainBase.h.

Referenced by setPlayDelay(), setupActions(), setupAutoLoad(), and startAutoLoadTimer().

std::unique_ptr<FWSelectionManager> CmsShowMainBase::m_selectionManager
private

Definition at line 153 of file CmsShowMainBase.h.

Referenced by selectionManager().

std::string CmsShowMainBase::m_simGeometryFilename
private

Definition at line 178 of file CmsShowMainBase.h.

Referenced by setSimGeometryFilename(), and setupViewManagers().

std::unique_ptr<CmsShowTaskExecutor> CmsShowMainBase::m_startupTasks
private

Definition at line 154 of file CmsShowMainBase.h.

Referenced by setup(), and startupTasks().

std::string CmsShowMainBase::m_TGeoName
private

Definition at line 179 of file CmsShowMainBase.h.

Referenced by setSimGeometryFilename(), and setupViewManagers().

std::unique_ptr<FWViewManagerManager> CmsShowMainBase::m_viewManager
private

Definition at line 155 of file CmsShowMainBase.h.

Referenced by draw(), setup(), and viewManager().