CMS 3D CMS Logo

sim_act::Signaler< T > Class Template Reference

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

Inheritance diagram for sim_act::Signaler< T >:

Observer< const T * >

List of all members.

Public Types

typedef Observer< const T * > * slot_type

Public Member Functions

void connect (Observer< const T * > &iObs)
 does not take ownership of memory
void connect (Observer< const T * > *iObs)
 does not take ownership of memory
void operator() (const T *iSignal) const
 Signaler ()
virtual ~Signaler ()

Private Member Functions

const Signaleroperator= (const Signaler &)
 Signaler (const Signaler &)
void update (const T *iData)
 This routine will be called when the appropriate signal arrives.

Private Attributes

std::vector< Observer< const T * > * > observers_


Detailed Description

template<typename T>
class sim_act::Signaler< T >

Definition at line 37 of file Signaler.h.


Member Typedef Documentation

template<typename T>
typedef Observer<const T*>* sim_act::Signaler< T >::slot_type

Definition at line 41 of file Signaler.h.


Constructor & Destructor Documentation

template<typename T>
sim_act::Signaler< T >::Signaler (  )  [inline]

Definition at line 42 of file Signaler.h.

00042 {}

template<typename T>
virtual sim_act::Signaler< T >::~Signaler (  )  [inline, virtual]

Definition at line 43 of file Signaler.h.

00043 {}

template<typename T>
sim_act::Signaler< T >::Signaler ( const Signaler< T > &   )  [private]


Member Function Documentation

template<typename T>
void sim_act::Signaler< T >::connect ( Observer< const T * > &  iObs  )  [inline]

does not take ownership of memory

Definition at line 65 of file Signaler.h.

References sim_act::Signaler< T >::observers_.

00065                                                 {
00066             observers_.push_back(&iObs);
00067          }

template<typename T>
void sim_act::Signaler< T >::connect ( Observer< const T * > *  iObs  )  [inline]

does not take ownership of memory

Definition at line 60 of file Signaler.h.

References sim_act::Signaler< T >::observers_.

Referenced by SimActivityRegistry::connect(), RunManager::initializeUserActions(), SimActivityRegistry::watchBeginOfEvent(), SimActivityRegistry::watchBeginOfJob(), SimActivityRegistry::watchBeginOfRun(), SimActivityRegistry::watchBeginOfTrack(), SimActivityRegistry::watchDDDWorld(), SimActivityRegistry::watchEndOfEvent(), SimActivityRegistry::watchEndOfRun(), SimActivityRegistry::watchEndOfTrack(), and SimActivityRegistry::watchG4Step().

00060                                                 {
00061             observers_.push_back(iObs);
00062          }

template<typename T>
void sim_act::Signaler< T >::operator() ( const T *  iSignal  )  const [inline]

Definition at line 46 of file Signaler.h.

References it, and sim_act::Signaler< T >::observers_.

Referenced by sim_act::Signaler< T >::update().

00046                                                  {
00047             typedef typename std::vector<Observer<const T*>* >::const_iterator iterator; 
00048             for( iterator it = observers_.begin();
00049                 it != observers_.end();
00050                 ++it) {
00051                (*it)->slotForUpdate(iSignal);
00052             }
00053          }

template<typename T>
const Signaler& sim_act::Signaler< T >::operator= ( const Signaler< T > &   )  [private]

template<typename T>
void sim_act::Signaler< T >::update ( const T *   )  [inline, private, virtual]

This routine will be called when the appropriate signal arrives.

Implements Observer< const T * >.

Definition at line 74 of file Signaler.h.

References sim_act::Signaler< T >::operator()().

00074                                      {
00075             this->operator()(iData);
00076          }


Member Data Documentation

template<typename T>
std::vector<Observer<const T*>* > sim_act::Signaler< T >::observers_ [private]

Definition at line 78 of file Signaler.h.

Referenced by sim_act::Signaler< T >::connect(), and sim_act::Signaler< T >::operator()().


The documentation for this class was generated from the following file:
Generated on Tue Jun 9 18:52:32 2009 for CMSSW by  doxygen 1.5.4