# Simulation core classes

## Detailed Description

Simulation core classes:.

- cObject is the base class for most OMNeT++ classes
- cModule, cCompoundModule and cSimpleModule represent modules in the simulation. The user implements new models by subclassing cSimpleModule and overriding at least its activity() or handleMessage() member function.
- cMessage represents events, and also messages sent among modules
- cGate represents module gates
- cPar represents module and message parameters
- cSimulation stores all modules of the network and the data structure for scheduled events (the future event set) Most methods are used internally, but some are useful for model developers as well.

Many other classes closely related to the above ones are not listed here explicitly, but you can find them via 'See also' links from their main classes.

## Classes

class | cChannel
| Base class for channels. More...
class | cBasicChannel
| Channel that models delay, bit error rate and data rate. More...
class | cGate
| Represents a module gate. More...
class | cMessage
| The message class in OMNeT++. More...
class | cModule
| Common base for cSimpleModule and cCompoundModule. More...
class | cCompoundModule
| Represents a compound module in the simulation. More...
class | cObject
| Base class for almost all classes in the OMNeT++ library. More...
class | cPar
| Parameter class. More...
class | cPolymorphic
| Ultimate base class for cObject, and thus for nearly all OMNeT++ classes. More...
class | cSimpleModule
| Base class for all simple module classes. More...
class | cSimulation
| Simulation manager class. More...
class | cVisitor
| Enables traversing the tree of (cObject-rooted) simulation objects. More...