Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

SIO_block Class Reference

#include <SIO_block.h>

Inheritance diagram for SIO_block:

Inheritance graph
[legend]
Collaboration diagram for SIO_block:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 SIO_block (const char *)
virtual ~SIO_block ()
std::string * getName ()
virtual unsigned int xfer (SIO_stream *, SIO_operation, unsigned int)=0
virtual unsigned int version ()=0

Private Attributes

std::string name

Constructor & Destructor Documentation

SIO_block::SIO_block const char *   ) 
 

Definition at line 24 of file SIO_block.cc.

00027 {
00028   name = i_name;
00029 }

SIO_block::~SIO_block  )  [virtual]
 

Definition at line 34 of file SIO_block.cc.

References SIO_blockManager::get(), getName(), and SIO_blockManager::remove().

00035 {
00036 
00037   //
00038   // This is tricky.  Before the block can be deleted, ensure that it does not
00039   // appear in the list managed by block manager.  The only way to find out if
00040   // this block is under the control of the block manager is to ask the block
00041   // manager to find this block's name in its list and return a pointer to it.
00042   // I told you this was tricky!
00043   //
00044   if( (SIO_blockManager::get( getName()->c_str() )) != NULL )
00045     SIO_blockManager::remove( this );
00046 
00047   return;
00048 }


Member Function Documentation

std::string * SIO_block::getName  ) 
 

Definition at line 53 of file SIO_block.cc.

References name.

Referenced by SIO_blockManager::add(), and ~SIO_block().

00053 { return( &name ); }

virtual unsigned int SIO_block::version  )  [pure virtual]
 

Implemented in CalorimeterSIO, LCD_detector_CVS, LCD_detector_ID, MCPrintSIO, MuonSIO, SIO_iodev, TrackerSIO, and VxdSIO.

virtual unsigned int SIO_block::xfer SIO_stream ,
SIO_operation  ,
unsigned  int
[pure virtual]
 

Implemented in CalorimeterSIO, LCD_detector_CVS, LCD_detector_ID, MCPrintSIO, MuonSIO, SIO_iodev, TrackerSIO, and VxdSIO.

Referenced by SIO_record::read().


Member Data Documentation

std::string SIO_block::name [private]
 

Definition at line 33 of file SIO_block.h.

Referenced by getName().


The documentation for this class was generated from the following files:
Generated on Thu Oct 7 18:45:10 2004 for LCDG4 by doxygen 1.3.4