CMS 3D CMS Logo

IgNTupleModel Class Reference

#include <Iguana/Models/interface/IgNTupleModel.h>

Inheritance diagram for IgNTupleModel:

IgModel

List of all members.

Public Types

typedef std::string Binding
typedef std::vector< BindingBindings
enum  EventType { ModelChanged }
typedef lat::Callback1
< IgNTupleModelEvent
Listener

Public Member Functions

void add (IgNTupleRep *rep)
void bindings (const Bindings &binds)
const Bindingsbindings (void) const
void changed (void)
void clear (void)
 IgNTupleModel (IgState *state)
void listen (EventType, const Listener &listener)
void remove (IgNTupleRep *rep)
void unlisten (EventType, const Listener &listener)

Private Types

typedef std::vector< ListenerListeners
typedef std::list< IgNTupleRep * > Reps

Private Attributes

Bindings m_bindings
Listeners m_listeners
Reps m_reps
IgStatem_state


Detailed Description

Definition at line 25 of file IgNTupleModel.h.


Member Typedef Documentation

typedef std::string IgNTupleModel::Binding

Definition at line 46 of file IgNTupleModel.h.

typedef std::vector<Binding> IgNTupleModel::Bindings

Definition at line 47 of file IgNTupleModel.h.

typedef lat::Callback1<IgNTupleModelEvent> IgNTupleModel::Listener

Definition at line 28 of file IgNTupleModel.h.

typedef std::vector<Listener> IgNTupleModel::Listeners [private]

Definition at line 52 of file IgNTupleModel.h.

typedef std::list<IgNTupleRep *> IgNTupleModel::Reps [private]

Definition at line 53 of file IgNTupleModel.h.


Member Enumeration Documentation

enum IgNTupleModel::EventType

Enumerator:
ModelChanged 

Definition at line 29 of file IgNTupleModel.h.

00029 { ModelChanged };


Constructor & Destructor Documentation

IgNTupleModel::IgNTupleModel ( IgState state  ) 

Definition at line 19 of file IgNTupleModel.cc.

00020     :IgModel (),
00021      m_state (state)
00022 {    
00023 }


Member Function Documentation

void IgNTupleModel::add ( IgNTupleRep rep  ) 

Definition at line 26 of file IgNTupleModel.cc.

References m_reps.

00027 {
00028     m_reps.push_back (rep);    
00029 }

void IgNTupleModel::bindings ( const Bindings binds  ) 

Definition at line 67 of file IgNTupleModel.cc.

References i, and m_bindings.

00068 {
00069     m_bindings.clear ();
00070     m_bindings.resize (binds.size ());
00071     
00072     for (unsigned int i = 0;
00073          i != binds.size ();
00074          i++)
00075     {
00076         m_bindings[i] = binds[i];       
00077     }
00078     
00079 }

const IgNTupleModel::Bindings & IgNTupleModel::bindings ( void   )  const

Definition at line 82 of file IgNTupleModel.cc.

References m_bindings.

00083 {
00084     return m_bindings;    
00085 }

void IgNTupleModel::changed ( void   ) 

Definition at line 44 of file IgNTupleModel.cc.

References event(), and m_listeners.

00045 {
00046     IgNTupleModelEvent event (this);
00047     for (Listeners::iterator pos = m_listeners.begin ();
00048          pos != m_listeners.end (); ++pos)
00049         (*pos) (event);
00050 }

void IgNTupleModel::clear ( void   ) 

Definition at line 38 of file IgNTupleModel.cc.

References m_reps.

00039 {
00040     m_reps.clear ();    
00041 }

void IgNTupleModel::listen ( EventType  ,
const Listener listener 
)

Definition at line 53 of file IgNTupleModel.cc.

References m_listeners.

00054 { m_listeners.push_back (listener); }

void IgNTupleModel::remove ( IgNTupleRep rep  ) 

Definition at line 32 of file IgNTupleModel.cc.

References m_reps.

00033 {
00034     m_reps.remove (rep);    
00035 }

void IgNTupleModel::unlisten ( EventType  ,
const Listener listener 
)

Definition at line 57 of file IgNTupleModel.cc.

References ASSERT, find(), and m_listeners.

00058 {
00059     Listeners::iterator pos = std::find (m_listeners.begin (),
00060                                          m_listeners.end(),
00061                                          listener);
00062     ASSERT (pos != m_listeners.end ());
00063     m_listeners.erase (pos);
00064 }


Member Data Documentation

Bindings IgNTupleModel::m_bindings [private]

Definition at line 58 of file IgNTupleModel.h.

Referenced by bindings().

Listeners IgNTupleModel::m_listeners [private]

Definition at line 57 of file IgNTupleModel.h.

Referenced by changed(), listen(), and unlisten().

Reps IgNTupleModel::m_reps [private]

Definition at line 56 of file IgNTupleModel.h.

Referenced by add(), clear(), and remove().

IgState* IgNTupleModel::m_state [private]

Definition at line 55 of file IgNTupleModel.h.


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:25:17 2009 for CMSSW by  doxygen 1.5.4