CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros 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 FWFFService

Classes

class  SignalTimer
 

Public Member Functions

virtual void autoLoadNewEvent ()=0
 
FWModelChangeManagerchangeManager ()
 
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 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 setConfigFilename (const std::string &f)
 
void setGeometryFilename (const std::string &filename)
 
void setIsPlaying (bool value)
 
void setPlayDelay (Float_t val)
 
void setPlayLoop ()
 
void setSimGeometryFilename (const std::string &filename)
 
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 ()=0
 
void unsetPlayLoop ()
 
FWViewManagerManagerviewManager ()
 
void writeToConfigFile (const std::string &config)
 
void writeToCurrentConfigFile ()
 
virtual ~CmsShowMainBase ()
 

Protected Member Functions

virtual void eventChangedImp ()
 
void eventChangedSlot ()
 

Private Member Functions

void setPlayLoopImp ()
 
void unsetPlayLoopImp ()
 

Private Attributes

std::auto_ptr< SignalTimerm_autoLoadTimer
 
bool m_autoLoadTimerRunning
 
std::string m_autoSaveAllViewsFormat
 
std::auto_ptr
< FWModelChangeManager
m_changeManager
 
std::auto_ptr< FWColorManagerm_colorManager
 
std::string m_configFileName
 
std::auto_ptr
< FWConfigurationManager
m_configurationManager
 
fireworks::Contextm_contextPtr
 
std::auto_ptr
< FWEventItemsManager
m_eiManager
 
bool m_forward
 
FWGeometry m_geom
 
std::string m_geometryFilename
 
std::auto_ptr< FWGUIManagerm_guiManager
 
bool m_isPlaying
 
bool m_loop
 
FWJobMetadataManagerm_metadataManagerPtr
 
FWNavigatorBasem_navigatorPtr
 
Float_t m_playDelay
 
std::auto_ptr< FWSelectionManagerm_selectionManager
 
std::string m_simGeometryFilename
 
std::auto_ptr
< CmsShowTaskExecutor
m_startupTasks
 
std::auto_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 41 of file CmsShowMainBase.cc.

42  :
47  m_guiManager(0),
51  m_autoLoadTimer(new SignalTimer()),
52  m_navigatorPtr(0),
54  m_contextPtr(0),
55  m_autoLoadTimerRunning(kFALSE),
56  m_forward(true),
57  m_isPlaying(false),
58  m_loop(false),
59  m_playDelay(3.f)
60 {
61 }
std::auto_ptr< FWConfigurationManager > m_configurationManager
std::auto_ptr< FWSelectionManager > m_selectionManager
std::auto_ptr< FWEventItemsManager > m_eiManager
FWNavigatorBase * m_navigatorPtr
std::auto_ptr< SignalTimer > m_autoLoadTimer
FWJobMetadataManager * m_metadataManagerPtr
double f[11][100]
std::auto_ptr< CmsShowTaskExecutor > m_startupTasks
fireworks::Context * m_contextPtr
std::auto_ptr< FWModelChangeManager > m_changeManager
std::auto_ptr< FWViewManagerManager > m_viewManager
std::auto_ptr< FWColorManager > m_colorManager
std::auto_ptr< FWGUIManager > m_guiManager
CmsShowMainBase::~CmsShowMainBase ( )
virtual

Definition at line 63 of file CmsShowMainBase.cc.

64 {
65 }

Member Function Documentation

virtual void CmsShowMainBase::autoLoadNewEvent ( )
pure virtual

Implemented in CmsShowMain, FWFFLooper, and FWFFService.

Referenced by setupActions().

FWModelChangeManager* CmsShowMainBase::changeManager ( )
inline

Definition at line 55 of file CmsShowMainBase.h.

References m_changeManager.

55 {return m_changeManager.get(); }
std::auto_ptr< FWModelChangeManager > m_changeManager
virtual void CmsShowMainBase::checkPosition ( )
pure virtual
FWColorManager* CmsShowMainBase::colorManager ( )
inline

Definition at line 56 of file CmsShowMainBase.h.

References m_colorManager.

56 { return m_colorManager.get(); }
std::auto_ptr< FWColorManager > m_colorManager
const char* CmsShowMainBase::configFilename ( ) const
inline

Definition at line 79 of file CmsShowMainBase.h.

References m_configFileName.

Referenced by CmsShowMain::CmsShowMain().

79 { return m_configFileName.c_str(); };
std::string m_configFileName
FWConfigurationManager* CmsShowMainBase::configurationManager ( )
inline

Definition at line 57 of file CmsShowMainBase.h.

References m_configurationManager.

Referenced by setupViewManagers().

57 { return m_configurationManager.get(); }
std::auto_ptr< FWConfigurationManager > m_configurationManager
void CmsShowMainBase::doFirstEvent ( )

Definition at line 146 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 169 of file CmsShowMainBase.cc.

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

Referenced by setupActions().

170 {
172  checkPosition();
173  draw();
174 }
virtual void checkPosition()=0
FWNavigatorBase * m_navigatorPtr
virtual void lastEvent()=0
void CmsShowMainBase::doNextEvent ( )

Definition at line 154 of file CmsShowMainBase.cc.

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

Referenced by setupActions().

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

Definition at line 162 of file CmsShowMainBase.cc.

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

Referenced by setupActions().

163 {
165  checkPosition();
166  draw();
167 }
virtual void checkPosition()=0
FWNavigatorBase * m_navigatorPtr
virtual void previousEvent()=0
void CmsShowMainBase::draw ( )

Definition at line 186 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_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(), python.Vispa.Gui.PortConnection.PointToPointConnection::paintEvent(), CmsShowMain::postFiltering(), FWFFService::postProcessEvent(), and CmsShowMain::setupDataHandling().

187 {
188  m_guiManager->updateStatus("loading event ...");
189 
191  {
193  }
195 
196  TStopwatch sw;
197  m_viewManager->eventBegin();
199  m_viewManager->eventEnd();
200  sw.Stop();
201  fwLog(fwlog::kDebug) << "CmsShowMainBase::draw CpuTime " << sw.CpuTime()
202  <<" RealTime " << sw.RealTime() << std::endl;
203 
204  if (!m_autoSaveAllViewsFormat.empty())
205  {
206  m_guiManager->updateStatus("auto saving images ...");
207  m_guiManager->exportAllViews(m_autoSaveAllViewsFormat);
208  }
209 
210  m_guiManager->clearStatus();
211 }
std::auto_ptr< FWEventItemsManager > m_eiManager
void checkBeamSpot(const edm::EventBase *event)
Definition: FWBeamSpot.cc:6
FWNavigatorBase * m_navigatorPtr
FWBeamSpot * getBeamSpot() const
Definition: Context.h:79
FWMagField * getField() const
Definition: Context.h:78
ESource getSource() const
Definition: FWMagField.h:34
virtual const edm::EventBase * getCurrentEvent() const =0
void checkFieldInfo(const edm::EventBase *)
Definition: FWMagField.cc:172
#define fwLog(_level_)
Definition: fwLog.h:51
fireworks::Context * m_contextPtr
std::string m_autoSaveAllViewsFormat
std::auto_ptr< FWViewManagerManager > m_viewManager
std::auto_ptr< FWGUIManager > m_guiManager
FWEventItemsManager* CmsShowMainBase::eiManager ( )
inline

Definition at line 58 of file CmsShowMainBase.h.

References m_eiManager.

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

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

Reimplemented in CmsShowMain.

Definition at line 140 of file CmsShowMainBase.cc.

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

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

141 {
143 }
FWGUIManager * guiManager()
void eventChangedCallback()
void CmsShowMainBase::eventChangedSlot ( )
protected

Definition at line 134 of file CmsShowMainBase.cc.

References eventChangedImp().

Referenced by setupActions().

135 {
136  eventChangedImp();
137 }
virtual void eventChangedImp()
bool CmsShowMainBase::forward ( ) const
inline

Definition at line 104 of file CmsShowMainBase.h.

References m_forward.

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

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

Definition at line 92 of file CmsShowMainBase.h.

References m_geometryFilename.

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

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

Definition at line 93 of file CmsShowMainBase.h.

References m_geom.

Referenced by FWFFLooper::beginRun(), and FWFFService::postBeginRun().

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

Definition at line 177 of file CmsShowMainBase.cc.

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

Referenced by setupActions().

178 {
180  checkPosition();
181  draw();
182 }
virtual void goToRunEvent(edm::RunNumber_t, edm::LuminosityBlockNumber_t, edm::EventNumber_t)=0
tuple lumi
Definition: fjr2json.py:41
virtual void checkPosition()=0
FWNavigatorBase * m_navigatorPtr
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
FWGUIManager* CmsShowMainBase::guiManager ( )
inline
bool CmsShowMainBase::isPlaying ( ) const
inline
void CmsShowMainBase::loadGeometry ( )

Definition at line 467 of file CmsShowMainBase.cc.

References cmsRelvalreport::exit, fwLog, guiManager(), fwlog::kError, FWGeometry::loadMap(), m_contextPtr, m_geom, m_geometryFilename, fireworks::Context::setGeom(), and FWGUIManager::updateStatus().

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

468 { // prepare geometry service
469  // ATTN: this should be made configurable
470  try
471  {
472  guiManager()->updateStatus("Loading geometry...");
475  }
476  catch (const std::runtime_error& iException)
477  {
478  fwLog(fwlog::kError) << "CmsShowMain::loadGeometry() caught exception: \n"
479  << m_geometryFilename << " "
480  << iException.what() << std::endl;
481  exit(0);
482  }
483 }
std::string m_geometryFilename
FWGUIManager * guiManager()
void setGeom(const FWGeometry *x)
Definition: Context.h:52
void updateStatus(const char *status)
void loadMap(const char *fileName)
Definition: FWGeometry.cc:65
#define fwLog(_level_)
Definition: fwLog.h:51
fireworks::Context * m_contextPtr
bool CmsShowMainBase::loop ( ) const
inline
FWModelChangeManager* CmsShowMainBase::modelChangeManager ( )
inline

Definition at line 59 of file CmsShowMainBase.h.

References m_changeManager.

59 { return m_changeManager.get(); }
std::auto_ptr< FWModelChangeManager > m_changeManager
void CmsShowMainBase::playBackward ( )

Definition at line 458 of file CmsShowMainBase.cc.

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

Referenced by setupActions().

459 {
460  m_forward = false;
461  m_isPlaying = true;
462  guiManager()->enableActions(kFALSE);
464 }
FWGUIManager * guiManager()
void enableActions(bool enable=true)
void CmsShowMainBase::playForward ( )

Definition at line 449 of file CmsShowMainBase.cc.

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

Referenced by setupActions().

450 {
451  m_forward = true;
452  m_isPlaying = true;
453  guiManager()->enableActions(kFALSE);
455 }
FWGUIManager * guiManager()
void enableActions(bool enable=true)
virtual void CmsShowMainBase::quit ( )
pure virtual

Implemented in CmsShowMain, FWFFLooper, and FWFFService.

Referenced by setupActions().

void CmsShowMainBase::registerPhysicsObject ( const FWPhysicsObjectDesc iItem)

Definition at line 443 of file CmsShowMainBase.cc.

References m_eiManager.

444 {
445  m_eiManager->add(iItem);
446 }
std::auto_ptr< FWEventItemsManager > m_eiManager
void CmsShowMainBase::reloadConfiguration ( const std::string &  config)

Definition at line 269 of file CmsShowMainBase.cc.

References HDQMDatabaseProducer::config, fwLog, fwlog::kDebug, m_configFileName, m_configurationManager, m_eiManager, m_guiManager, and runTheMatrix::msg.

Referenced by setup().

270 {
271  if (config.empty())
272  return;
273 
275 
276  std::string msg = "Reloading configuration "
277  + config + "...";
278  fwLog(fwlog::kDebug) << msg << std::endl;
279  m_guiManager->updateStatus(msg.c_str());
280  m_guiManager->subviewDestroyAll();
281  m_eiManager->clearItems();
283  try
284  {
285  gEve->DisableRedraw();
286  m_configurationManager->readFromFile(config);
287  gEve->EnableRedraw();
288  }
289  catch (std::runtime_error &e)
290  {
291  Int_t chosen;
292  new TGMsgBox(gClient->GetDefaultRoot(),
293  gClient->GetDefaultRoot(),
294  "Bad configuration",
295  ("Configuration " + config + " cannot be parsed.").c_str(),
296  kMBIconExclamation,
297  kMBCancel,
298  &chosen);
299  }
301  {
302  Int_t chosen;
303  new TGMsgBox(gClient->GetDefaultRoot(),
304  gClient->GetDefaultRoot(),
305  "Bad configuration",
306  ("Configuration " + config + " cannot be parsed.").c_str(),
307  kMBIconExclamation,
308  kMBCancel,
309  &chosen);
310  }
311  m_guiManager->updateStatus("");
312 }
std::auto_ptr< FWConfigurationManager > m_configurationManager
std::auto_ptr< FWEventItemsManager > m_eiManager
#define fwLog(_level_)
Definition: fwLog.h:51
std::auto_ptr< FWGUIManager > m_guiManager
std::string m_configFileName
FWSelectionManager* CmsShowMainBase::selectionManager ( )
inline

Definition at line 60 of file CmsShowMainBase.h.

References m_selectionManager.

Referenced by CmsShowMain::~CmsShowMain().

60 { return m_selectionManager.get(); }
std::auto_ptr< FWSelectionManager > m_selectionManager
void CmsShowMainBase::setAutoSaveAllViewsFormat ( const std::string &  fmt)
inline

Definition at line 124 of file CmsShowMainBase.h.

References m_autoSaveAllViewsFormat.

Referenced by CmsShowMain::CmsShowMain().

124 { m_autoSaveAllViewsFormat = fmt; }
std::string m_autoSaveAllViewsFormat
void CmsShowMainBase::setConfigFilename ( const std::string &  f)
inline

Definition at line 78 of file CmsShowMainBase.h.

References f, and m_configFileName.

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

78 { m_configFileName = f; };
double f[11][100]
std::string m_configFileName
void CmsShowMainBase::setGeometryFilename ( const std::string &  filename)
inline
void CmsShowMainBase::setIsPlaying ( bool  value)
inline
void CmsShowMainBase::setPlayDelay ( Float_t  val)

Definition at line 400 of file CmsShowMainBase.cc.

References m_playDelay.

Referenced by setupActions().

401 {
402  m_playDelay = val;
403 }
void CmsShowMainBase::setPlayLoop ( )

Definition at line 413 of file CmsShowMainBase.cc.

References m_guiManager, m_loop, and setPlayLoopImp().

Referenced by CmsShowMain::CmsShowMain().

414 {
415  if(!m_loop) {
416  setPlayLoopImp();
417  m_guiManager->loopAction()->activated();
418  }
419 }
std::auto_ptr< FWGUIManager > m_guiManager
void CmsShowMainBase::setPlayLoopImp ( )
private

Definition at line 431 of file CmsShowMainBase.cc.

References m_loop.

Referenced by setPlayLoop(), and setupActions().

432 {
433  m_loop = true;
434 }
void CmsShowMainBase::setSimGeometryFilename ( const std::string &  filename)
inline

Definition at line 95 of file CmsShowMainBase.h.

References lut2db_cfg::filename, and m_simGeometryFilename.

Referenced by CmsShowMain::CmsShowMain().

std::string m_simGeometryFilename
tuple filename
Definition: lut2db_cfg.py:20
void CmsShowMainBase::setup ( FWNavigatorBase navigator,
fireworks::Context context,
FWJobMetadataManager metadataManager 
)

Definition at line 214 of file CmsShowMainBase.cc.

References newFWLiteAna::base, FWGUIManager::clearStatus(), fireworks::Context::commonPrefs(), fireworks::Context::initEveElements(), m_changeManager, m_colorManager, m_configurationManager, m_contextPtr, m_eiManager, m_guiManager, m_metadataManagerPtr, m_navigatorPtr, m_startupTasks, m_viewManager, FWModelChangeManager::newItemSlot(), FWViewManagerManager::registerEventItem(), reloadConfiguration(), and writeToConfigFile().

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

217 {
218  m_navigatorPtr = navigator;
219  m_contextPtr = context;
220  m_metadataManagerPtr = metadataManager;
221 
222  m_colorManager->initialize();
225 
226  m_eiManager->newItem_.connect(boost::bind(&FWModelChangeManager::newItemSlot,
227  m_changeManager.get(), _1) );
228 
229  m_eiManager->newItem_.connect(boost::bind(&FWViewManagerManager::registerEventItem,
230  m_viewManager.get(), _1));
231  m_configurationManager->add("EventItems",m_eiManager.get());
232  m_configurationManager->add("GUI",m_guiManager.get());
233  m_configurationManager->add("EventNavigator", m_navigatorPtr);
234  m_configurationManager->add("CommonPreferences", m_contextPtr->commonPrefs()); // must be after GUIManager in alphabetical order
235 
236  m_guiManager->writeToConfigurationFile_.connect(boost::bind(&CmsShowMainBase::writeToConfigFile,
237  this,_1));
238 
239  m_guiManager->loadFromConfigurationFile_.connect(boost::bind(&CmsShowMainBase::reloadConfiguration,
240  this, _1));
241  std::string macPath(gSystem->Getenv("CMSSW_BASE"));
242  macPath += "/src/Fireworks/Core/macros";
243  const char* base = gSystem->Getenv("CMSSW_RELEASE_BASE");
244  if(0!=base) {
245  macPath+=":";
246  macPath +=base;
247  macPath +="/src/Fireworks/Core/macros";
248  }
249  gROOT->SetMacroPath((std::string("./:")+macPath).c_str());
250 
251  m_startupTasks->tasksCompleted_.connect(boost::bind(&FWGUIManager::clearStatus,
252  m_guiManager.get()) );
253 }
tuple base
Main Program
Definition: newFWLiteAna.py:92
void registerEventItem(const FWEventItem *iItem)
std::auto_ptr< FWConfigurationManager > m_configurationManager
void writeToConfigFile(const std::string &config)
void initEveElements()
Definition: Context.cc:96
std::auto_ptr< FWEventItemsManager > m_eiManager
FWNavigatorBase * m_navigatorPtr
void newItemSlot(FWEventItem *)
void reloadConfiguration(const std::string &config)
FWJobMetadataManager * m_metadataManagerPtr
std::auto_ptr< CmsShowTaskExecutor > m_startupTasks
void clearStatus()
fireworks::Context * m_contextPtr
CmsShowCommon * commonPrefs() const
Definition: Context.cc:179
std::auto_ptr< FWModelChangeManager > m_changeManager
std::auto_ptr< FWViewManagerManager > m_viewManager
std::auto_ptr< FWColorManager > m_colorManager
std::auto_ptr< FWGUIManager > m_guiManager
void CmsShowMainBase::setupActions ( )

Definition at line 68 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(), FWFFService::postBeginRun(), and CmsShowMain::setupDataHandling().

69 {
70  m_guiManager->writeToPresentConfigurationFile_.connect(sigc::mem_fun(*this, &CmsShowMainBase::writeToCurrentConfigFile));
71 
72  // init TGSlider state before signals are connected
73  m_guiManager->setDelayBetweenEvents(m_playDelay);
74 
75  m_navigatorPtr->newEvent_.connect(boost::bind(&CmsShowMainBase::eventChangedSlot, this));
76  if (m_guiManager->getAction(cmsshow::sNextEvent) != 0)
77  m_guiManager->getAction(cmsshow::sNextEvent)->activated.connect(sigc::mem_fun(*this, &CmsShowMainBase::doNextEvent));
78  if (m_guiManager->getAction(cmsshow::sPreviousEvent) != 0)
79  m_guiManager->getAction(cmsshow::sPreviousEvent)->activated.connect(sigc::mem_fun(*this, &CmsShowMainBase::doPreviousEvent));
80  if (m_guiManager->getAction(cmsshow::sGotoFirstEvent) != 0)
81  m_guiManager->getAction(cmsshow::sGotoFirstEvent)->activated.connect(sigc::mem_fun(*this, &CmsShowMainBase::doFirstEvent));
82  if (m_guiManager->getAction(cmsshow::sGotoLastEvent) != 0)
83  m_guiManager->getAction(cmsshow::sGotoLastEvent)->activated.connect(sigc::mem_fun(*this, &CmsShowMainBase::doLastEvent));
84  if (m_guiManager->getAction(cmsshow::sQuit) != 0)
85  m_guiManager->getAction(cmsshow::sQuit)->activated.connect(sigc::mem_fun(*this, &CmsShowMainBase::quit));
86 
87  m_guiManager->changedEventId_.connect(boost::bind(&CmsShowMainBase::goToRunEvent,this,_1,_2,_3));
88  m_guiManager->playEventsAction()->started_.connect(sigc::mem_fun(*this, &CmsShowMainBase::playForward));
89  m_guiManager->playEventsBackwardsAction()->started_.connect(sigc::mem_fun(*this,&CmsShowMainBase::playBackward));
90  m_guiManager->loopAction()->started_.connect(sigc::mem_fun(*this,&CmsShowMainBase::setPlayLoopImp));
91  m_guiManager->loopAction()->stopped_.connect(sigc::mem_fun(*this,&CmsShowMainBase::unsetPlayLoopImp));
92  m_guiManager->changedDelayBetweenEvents_.connect(boost::bind(&CmsShowMainBase::setPlayDelay,this,_1));
93  m_guiManager->playEventsAction()->stopped_.connect(sigc::mem_fun(*this,&CmsShowMainBase::stopPlaying));
94  m_guiManager->playEventsBackwardsAction()->stopped_.connect(sigc::mem_fun(*this,&CmsShowMainBase::stopPlaying));
95 
96  m_autoLoadTimer->timeout_.connect(boost::bind(&CmsShowMainBase::autoLoadNewEvent, this));
97 }
const std::string sNextEvent
Definition: ActionsList.cc:5
FWNavigatorBase * m_navigatorPtr
std::auto_ptr< SignalTimer > m_autoLoadTimer
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
virtual void stopPlaying()=0
const std::string sPreviousEvent
Definition: ActionsList.cc:6
void writeToCurrentConfigFile()
const std::string sQuit
Definition: ActionsList.cc:22
void goToRunEvent(edm::RunNumber_t, edm::LuminosityBlockNumber_t, edm::EventNumber_t)
std::auto_ptr< FWGUIManager > m_guiManager
sigc::signal< void > newEvent_
void CmsShowMainBase::setupAutoLoad ( float  x)

Definition at line 315 of file CmsShowMainBase.cc.

References m_guiManager, m_playDelay, and x.

Referenced by CmsShowMain::CmsShowMain().

316 {
317  m_playDelay = x;
318  m_guiManager->setDelayBetweenEvents(m_playDelay);
319  if (!m_guiManager->playEventsAction()->isEnabled())
320  m_guiManager->playEventsAction()->enable();
321 
322  m_guiManager->playEventsAction()->switchMode();
323 }
Definition: DDAxes.h:10
std::auto_ptr< FWGUIManager > m_guiManager
void CmsShowMainBase::setupConfiguration ( )

Definition at line 342 of file CmsShowMainBase.cc.

References cmsRelvalreport::exit, fwLog, fwlog::kError, fwlog::kInfo, m_configFileName, m_configurationManager, and m_guiManager.

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

343 {
344  m_guiManager->updateStatus("Setting up configuration...");
345  if(m_configFileName.empty() ) {
346  fwLog(fwlog::kInfo) << "no configuration is loaded." << std::endl;
347  m_guiManager->getMainFrame()->MapSubwindows();
348  m_guiManager->getMainFrame()->Layout();
349  m_guiManager->getMainFrame()->MapRaised();
350  m_configFileName = "newconfig.fwc";
351  m_guiManager->createView("Rho Phi");
352  m_guiManager->createView("Rho Z");
353  }
354  else {
355  char* whereConfig = gSystem->Which(TROOT::GetMacroPath(), m_configFileName.c_str(), kReadPermission);
356  if(0==whereConfig) {
357  fwLog(fwlog::kInfo) <<"unable to load configuration file '"<<m_configFileName<<"' will load default instead."<<std::endl;
358  whereConfig = gSystem->Which(TROOT::GetMacroPath(), "default.fwc", kReadPermission);
359  assert(whereConfig && "Default configuration cannot be found. Malformed Fireworks installation?");
360  }
361  m_configFileName = whereConfig;
362 
363  delete [] whereConfig;
364  try
365  {
366  gEve->DisableRedraw();
368  gEve->EnableRedraw();
369  }
370  catch (std::runtime_error &e)
371  {
372  fwLog(fwlog::kError) <<"Unable to load configuration file '"
373  << m_configFileName
374  << "' which was specified on command line. Quitting."
375  << std::endl;
376  exit(1);
377  }
379  {
380  fwLog(fwlog::kError) <<"Unable to load configuration file '"
381  << m_configFileName
382  << "' which was specified on command line. Quitting."
383  << std::endl;
384  exit(1);
385  }
386  }
387  /*
388  if(not m_configFileName.empty() ) {
389  //when the program quits we will want to save the configuration automatically
390  m_guiManager->goingToQuit_.connect(
391  boost::bind(&FWConfigurationManager::writeToFile,
392  m_configurationManager.get(),
393  m_configFileName));
394  }
395  */
396 }
std::auto_ptr< FWConfigurationManager > m_configurationManager
#define fwLog(_level_)
Definition: fwLog.h:51
std::auto_ptr< FWGUIManager > m_guiManager
std::string m_configFileName
void CmsShowMainBase::setupDebugSupport ( )

Definition at line 406 of file CmsShowMainBase.cc.

References m_guiManager.

Referenced by CmsShowMain::CmsShowMain().

407 {
408  m_guiManager->updateStatus("Setting up Eve debug window...");
409  m_guiManager->openEveBrowserForDebugging();
410 }
std::auto_ptr< FWGUIManager > m_guiManager
void CmsShowMainBase::setupViewManagers ( )

Definition at line 100 of file CmsShowMainBase.cc.

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

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

101 {
102  guiManager()->updateStatus("Setting up view manager...");
103 
104  boost::shared_ptr<FWViewManagerBase> eveViewManager(new FWEveViewManager(guiManager()));
105  eveViewManager->setContext(m_contextPtr);
106  viewManager()->add(eveViewManager);
107 
108  boost::shared_ptr<FWTableViewManager> tableViewManager(new FWTableViewManager(guiManager()));
109  configurationManager()->add(std::string("Tables"), tableViewManager.get());
110  viewManager()->add(tableViewManager);
111  eiManager()->goingToClearItems_.connect(boost::bind(&FWTableViewManager::removeAllItems, tableViewManager.get()));
112 
113  boost::shared_ptr<FWTriggerTableViewManager> triggerTableViewManager(new FWTriggerTableViewManager(guiManager()));
114  configurationManager()->add(std::string("TriggerTables"), triggerTableViewManager.get());
115  configurationManager()->add(std::string("L1TriggerTables"), triggerTableViewManager.get()); // AMT: added for backward compatibilty
116  triggerTableViewManager->setContext(m_contextPtr);
117  viewManager()->add(triggerTableViewManager);
118 
119  boost::shared_ptr<FWGeometryTableViewManager> geoTableViewManager(new FWGeometryTableViewManager(guiManager(), m_simGeometryFilename));
120  geoTableViewManager->setContext(m_contextPtr);
121  viewManager()->add(geoTableViewManager);
122 
123 
124  // Unfortunately, due to the plugin mechanism, we need to delay
125  // until here the creation of the FWJobMetadataManager, because
126  // otherwise the supportedTypesAndRepresentations map is empty.
127  // FIXME: should we have a signal for whenever the above mentioned map
128  // changes? Can that actually happer (maybe if we add support
129  // for loading plugins on the fly??).
130  m_metadataManagerPtr->initReps(viewManager()->supportedTypesAndRepresentations());
131 }
FWGUIManager * guiManager()
FWEventItemsManager * eiManager()
void initReps(const FWTypeToRepresentations &iTypeAndReps)
void updateStatus(const char *status)
FWJobMetadataManager * m_metadataManagerPtr
FWViewManagerManager * viewManager()
std::string m_simGeometryFilename
void add(boost::shared_ptr< FWViewManagerBase >)
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 326 of file CmsShowMainBase.cc.

References m_autoLoadTimer, m_autoLoadTimerRunning, and m_playDelay.

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

327 {
328  m_autoLoadTimer->SetTime((Long_t)(m_playDelay*1000));
329  m_autoLoadTimer->Reset();
330  m_autoLoadTimer->TurnOn();
331  m_autoLoadTimerRunning = kTRUE;
332 }
std::auto_ptr< SignalTimer > m_autoLoadTimer
CmsShowTaskExecutor* CmsShowMainBase::startupTasks ( )
inline
void CmsShowMainBase::stopAutoLoadTimer ( )

Definition at line 335 of file CmsShowMainBase.cc.

References m_autoLoadTimer, and m_autoLoadTimerRunning.

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

336 {
337  m_autoLoadTimer->TurnOff();
338  m_autoLoadTimerRunning = kFALSE;
339 }
std::auto_ptr< SignalTimer > m_autoLoadTimer
virtual void CmsShowMainBase::stopPlaying ( )
pure virtual

Implemented in CmsShowMain, FWFFLooper, and FWFFService.

Referenced by setupActions().

void CmsShowMainBase::unsetPlayLoop ( )

Definition at line 422 of file CmsShowMainBase.cc.

References m_guiManager, m_loop, and unsetPlayLoopImp().

423 {
424  if(m_loop) {
426  m_guiManager->loopAction()->stop();
427  }
428 }
std::auto_ptr< FWGUIManager > m_guiManager
void CmsShowMainBase::unsetPlayLoopImp ( )
private

Definition at line 437 of file CmsShowMainBase.cc.

References m_loop.

Referenced by setupActions(), and unsetPlayLoop().

438 {
439  m_loop = false;
440 }
FWViewManagerManager* CmsShowMainBase::viewManager ( )
inline

Definition at line 61 of file CmsShowMainBase.h.

References m_viewManager.

Referenced by setupViewManagers().

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

Definition at line 256 of file CmsShowMainBase.cc.

References m_configFileName, m_configurationManager, and mergeVDriftHistosByStation::name.

Referenced by setup().

257 {
260 }
std::auto_ptr< FWConfigurationManager > m_configurationManager
std::string m_configFileName
void CmsShowMainBase::writeToCurrentConfigFile ( )

Definition at line 263 of file CmsShowMainBase.cc.

References m_configFileName, and m_configurationManager.

Referenced by setupActions().

264 {
266 }
std::auto_ptr< FWConfigurationManager > m_configurationManager
std::string m_configFileName

Member Data Documentation

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

Definition at line 153 of file CmsShowMainBase.h.

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

bool CmsShowMainBase::m_autoLoadTimerRunning
private

Definition at line 165 of file CmsShowMainBase.h.

Referenced by startAutoLoadTimer(), and stopAutoLoadTimer().

std::string CmsShowMainBase::m_autoSaveAllViewsFormat
private

Definition at line 164 of file CmsShowMainBase.h.

Referenced by draw(), and setAutoSaveAllViewsFormat().

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

Definition at line 142 of file CmsShowMainBase.h.

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

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

Definition at line 143 of file CmsShowMainBase.h.

Referenced by colorManager(), and setup().

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

Definition at line 159 of file CmsShowMainBase.h.

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

std::auto_ptr<FWEventItemsManager> CmsShowMainBase::m_eiManager
private

Definition at line 145 of file CmsShowMainBase.h.

Referenced by draw(), eiManager(), registerPhysicsObject(), reloadConfiguration(), and setup().

bool CmsShowMainBase::m_forward
private

Definition at line 166 of file CmsShowMainBase.h.

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

FWGeometry CmsShowMainBase::m_geom
private

Definition at line 172 of file CmsShowMainBase.h.

Referenced by getGeom(), and loadGeometry().

std::string CmsShowMainBase::m_geometryFilename
private

Definition at line 171 of file CmsShowMainBase.h.

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

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

Definition at line 167 of file CmsShowMainBase.h.

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

bool CmsShowMainBase::m_loop
private

Definition at line 168 of file CmsShowMainBase.h.

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

FWJobMetadataManager* CmsShowMainBase::m_metadataManagerPtr
private

Definition at line 158 of file CmsShowMainBase.h.

Referenced by setup(), and setupViewManagers().

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

Definition at line 169 of file CmsShowMainBase.h.

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

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

Definition at line 147 of file CmsShowMainBase.h.

Referenced by selectionManager().

std::string CmsShowMainBase::m_simGeometryFilename
private

Definition at line 173 of file CmsShowMainBase.h.

Referenced by setSimGeometryFilename(), and setupViewManagers().

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

Definition at line 148 of file CmsShowMainBase.h.

Referenced by setup(), and startupTasks().

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

Definition at line 149 of file CmsShowMainBase.h.

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