CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions
Observer< T > Class Template Referenceabstract

#include <SimG4Core/Notification/interface/Observer.h>

Public Member Functions

 Observer ()
 
void slotForUpdate (T iT)
 
virtual ~Observer ()
 

Protected Member Functions

virtual void update (T)=0
 This routine will be called when the appropriate signal arrives. More...
 

Detailed Description

template<class T>
class Observer< T >

Description: Adapts the COBRA signal handling for use in the OscarProducer

Usage: If a class that is loaded by OscarProducer, via its configuraiton file, inherits from Observer<T>, (e.g., Observer<const BeginOfTrack*>), the OscarProducer will make sure the appropriate signal is sent to an object of that class (e.g., the object will see the BeginOfTrack signal). To handle the signal the class must override the 'void update(T)' method (e.g., void update(const BeginOfTrack*)).

Definition at line 24 of file Observer.h.

Constructor & Destructor Documentation

template<class T>
Observer< T >::Observer ( )
inline

Definition at line 27 of file Observer.h.

27 {}
template<class T>
virtual Observer< T >::~Observer ( )
inlinevirtual

Definition at line 28 of file Observer.h.

28 {}

Member Function Documentation

template<class T>
void Observer< T >::slotForUpdate ( T  iT)
inline

This method is what is called when the signal is actually sent. The signal is not sent directly to 'update' because if we did 1) If the user did not declare 'update' to be 'public' then we get a compilation failure 2) we would not have a 'hook' to allow the 'pre' and 'post' functions to be called

Definition at line 35 of file Observer.h.

35  {
36  update(iT);
37  }
virtual void update(T)=0
This routine will be called when the appropriate signal arrives.
template<class T>
virtual void Observer< T >::update ( T  )
protectedpure virtual

This routine will be called when the appropriate signal arrives.

Implemented in G4StepStatistics, G4StepStatistics, G4StepStatistics, BscTest, BscTest, BscTest, BscTest, BscTest, BscTest, BscTest, FP420Test, BscTest, FP420Test, FP420Test, FP420Test, FP420Test, FP420Test, FP420Test, FP420Test, G4StepStatistics, G4StepStatistics, G4StepStatistics, G4StepStatistics, G4StepStatistics, G4StepStatistics, EcalTBH4Trigger, CastorShowerLibraryMaker, CastorShowerLibraryMaker, CastorShowerLibraryMaker, CastorShowerLibraryMaker, CastorShowerLibraryMaker, CastorShowerLibraryMaker, EcalTBH4Trigger, SimTracer, CaloSD, SimTracer, CaloSD, CastorTestAnalysis, SimTracer, CaloSD, CastorTestAnalysis, CaloSD, CastorTestAnalysis, CastorTestAnalysis, ZdcTestAnalysis, CastorTestAnalysis, DoCastorAnalysis, ZdcTestAnalysis, CastorTestAnalysis, DoCastorAnalysis, ZdcTestAnalysis, DoCastorAnalysis, ZdcTestAnalysis, DoCastorAnalysis, ZdcTestAnalysis, DoCastorAnalysis, ZdcTestAnalysis, DoCastorAnalysis, SimG4HGCalValidation, EcalTBH4Trigger, HcalTB04Analysis, SimG4HGCalValidation, HcalTB04Analysis, SimG4HGCalValidation, HcalTB04Analysis, sim_act::Signaler< T >, sim_act::Signaler< G4Step >, sim_act::Signaler< EndOfEvent >, sim_act::Signaler< BeginOfRun >, sim_act::Signaler< BeginOfEvent >, sim_act::Signaler< BeginOfTrack >, sim_act::Signaler< DDDWorld >, sim_act::Signaler< BeginOfJob >, sim_act::Signaler< EndOfRun >, sim_act::Signaler< EndOfTrack >, HcalTB04Analysis, SimTracer, LaserAlignmentSimulation, SimTracer, HcalForwardAnalysis, SimTracer, LaserAlignmentSimulation, FP420SD, HcalForwardAnalysis, SimTracer, FP420SD, HcalForwardAnalysis, SimTracer, LaserAlignmentSimulation, HcalForwardAnalysis, SimTracer, LaserAlignmentSimulation, TotemSD, LaserAlignmentSimulation, LaserAlignmentSimulation, LaserAlignmentSimulation, HcalTB02Analysis, SimG4HcalValidation, HcalTB02Analysis, MuonSensitiveDetector, TkAccumulatingSensitiveDetector, SimG4HcalValidation, HGCPassive, TkAccumulatingSensitiveDetector, SimG4HcalValidation, HGCPassive, TkAccumulatingSensitiveDetector, simwatcher::BeginOfTrackCounter, SimG4HcalValidation, TotemTestGem, HGCPassive, FiberSD, SimG4HcalValidation, HCalSD, TotemTestGem, FiberSD, HcalTestAnalysis, FiberSD, MaterialBudgetAction, HcalTestAnalysis, TimingSD, TrackingVerboseAction, MaterialBudgetAction, HcalTestAnalysis, TrackingVerboseAction, MaterialBudgetAction, HcalTestAnalysis, TrackingVerboseAction, MaterialBudgetAction, HcalTestAnalysis, TrackingVerboseAction, TrackingMaterialProducer, MaterialBudgetAction, TrackingVerboseAction, TrackingMaterialProducer, TrackingMaterialProducer, EcalSimHitsValidProducer, CaloTrkProcessing, CheckSecondary, TrackingMaterialProducer, EcalSimHitsValidProducer, CaloTrkProcessing, SimG4FluxProducer, CheckSecondary, TrackingMaterialProducer, EcalSimHitsValidProducer, SimG4FluxProducer, CheckSecondary, GflashG4Watcher, TrackingMaterialProducer, MaterialBudget, MaterialBudgetForward, SimG4FluxProducer, CheckSecondary, GflashG4Watcher, MaterialBudget, MaterialBudgetForward, GflashG4Watcher, MaterialBudget, MaterialBudgetForward, HGCSD, MaterialBudget, MaterialBudgetForward, StoreSecondary, MaterialBudgetHcal, HFNoseSD, HGCalSD, StoreSecondary, MaterialBudgetHcal, HGCScintSD, StoreSecondary, CountProcessesAction, MaterialBudgetHcal, FastTimerSD, HGCalTBMB, CountProcessesAction, PrintGeomSummary, MaterialBudgetHcal, HGCalTBMB, CountProcessesAction, PrintGeomInfoAction, PrintGeomSummary, PrintMaterialBudgetInfo, HGCalTBMB, CountProcessesAction, PrintGeomInfoAction, PrintMaterialBudgetInfo, RHStopTracer, RHStopTracer, RHStopTracer, CheckOverlap, RHStopTracer, MonopoleSteppingAction, PrintSensitive, MonopoleSteppingAction, MonopoleSteppingAction, MonopoleSteppingAction, PrintTrackNumberAction, PrintTrackNumberAction, SaveSimTrack, KillSecondariesRunAction, and KillSecondariesTrackAction.

Referenced by progressbar.ProgressBar::__next__(), MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), Vispa.Gui.VispaWidget.VispaWidget::autosize(), Vispa.Views.LineDecayView.LineDecayContainer::createObject(), Vispa.Views.LineDecayView.LineDecayContainer::deselectAllObjects(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::deselectAllWidgets(), Vispa.Gui.VispaWidget.VispaWidget::enableAutosizing(), progressbar.ProgressBar::finish(), Vispa.Gui.MenuWidget.MenuWidget::leaveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseMoveEvent(), Vispa.Gui.MenuWidget.MenuWidget::mouseMoveEvent(), Vispa.Views.LineDecayView.LineDecayContainer::mouseMoveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseReleaseEvent(), Vispa.Views.LineDecayView.LineDecayContainer::objectMoved(), MatrixUtil.Steps::overwrite(), Vispa.Views.LineDecayView.LineDecayContainer::removeObject(), Vispa.Gui.ConnectableWidget.ConnectableWidget::removePorts(), Vispa.Gui.FindDialog.FindDialog::reset(), Vispa.Gui.PortConnection.PointToPointConnection::select(), Vispa.Gui.VispaWidget.VispaWidget::select(), Vispa.Views.LineDecayView.LineDecayContainer::select(), Vispa.Gui.VispaWidget.VispaWidget::setText(), Vispa.Gui.VispaWidget.VispaWidget::setTitle(), Vispa.Gui.ZoomableWidget.ZoomableWidget::setZoom(), Vispa.Views.LineDecayView.LineDecayContainer::setZoom(), Observer< const DDDWorld * >::slotForUpdate(), and Vispa.Gui.PortConnection.PointToPointConnection::updateConnection().