CMS 3D CMS Logo

IgStateElement.h File Reference

#include "Iguana/Framework/interface/IgStateKey.h"
#include "Iguana/Framework/interface/IgState.h"
#include "classlib/utils/DebugAids.h"

Go to the source code of this file.

Classes

class  IgStateElement
 Base interface for all element objects stored in IgState. More...

Defines

#define IG_DECLARE_STATE_ELEMENT(t)
#define IG_DEFINE_STATE_ELEMENT(t, name)


Define Documentation

#define IG_DECLARE_STATE_ELEMENT ( t   ) 

Value:

private:                                                \
  static const char    *s_keyLabel;                     \
  static IgStateKeyDef s_key;                           \
 public:                                                \
  static t *get (IgState *state);                       \
  static const char *stateLabel (void);                 \
  static const char *catalogLabel (void);               \
  virtual IgStateKey stateKey (void) const

Definition at line 27 of file IgStateElement.h.

#define IG_DEFINE_STATE_ELEMENT ( t,
name   ) 

Value:

t *t::get (IgState *state) {                            \
     ASSERT (state);                                    \
     if (IgStateElement *e = state->get (s_key)) {      \
        ASSERT (dynamic_cast<t *> (e));                 \
        return static_cast<t *> (e);                    \
     }                                                  \
     return 0;                                          \
  }                                                     \
  IgStateKey t::stateKey (void) const { return s_key; } \
  const char *t::stateLabel (void) { return s_keyLabel;}\
  const char *t::catalogLabel (void){return s_keyLabel;}\
  const char *t::s_keyLabel = name;                     \
  IgStateKeyDef t::s_key (name)

Definition at line 12 of file IgStateElement.h.


Generated on Tue Jun 9 17:54:06 2009 for CMSSW by  doxygen 1.5.4