BALL::System Class Reference
[Molecular Datastructures]

#include <BALL/KERNEL/system.h>

Inheritance diagram for BALL::System:
BALL::AtomContainer BALL::Composite BALL::PropertyManager BALL::PersistentObject BALL::Selectable BALL::Object BALL::AutoDeletable

List of all members.


Public Member Functions

bool operator== (const System &system) const
bool operator!= (const System &system) const
Constructors and Destructors
 System ()
 

Default constructor.


 System (const System &system, bool deep=true)
 

Copy constructor.


 System (const String &name)
 

Detailled constructor.


virtual ~System ()
 

Destructor.


Persistence
void persistentWrite (PersistenceManager &pm, const char *name=0) const throw (Exception::GeneralException)
void persistentRead (PersistenceManager &pm) throw (Exception::GeneralException)
Assignment
void set (const System &system, bool deep=true)
Systemoperator= (const System &system)
void get (System &system, bool deep=true) const
Accessors
MoleculegetMolecule (Position position)
const MoleculegetMolecule (Position position) const
ProteingetProtein (Position position)
const ProteingetProtein (Position position) const
Size countMolecules () const
Size countFragments () const
Size countAtoms () const
Size countProteins () const
Size countChains () const
Size countSecondaryStructures () const
Size countResidues () const
Size countNucleicAcids () const
Size countNucleotides () const
void prepend (Molecule &molecule)
void append (Molecule &molecule)
void insert (Molecule &molecule)
void insertBefore (Molecule &molecule, Composite &before)
void insertAfter (Molecule &molecule, Composite &after)
bool remove (Molecule &molecule)
void spliceBefore (System &system)
void spliceAfter (System &system)
void splice (System &system)

Detailed Description

System class. This class is used to represent a system, i.e., a collection of molecules.


Constructor & Destructor Documentation

BALL::System::System (  ) 

Default constructor.

BALL::System::System ( const System system,
bool  deep = true 
)

Copy constructor.

BALL::System::System ( const String name  ) 

Detailled constructor.

virtual BALL::System::~System (  )  [virtual]

Destructor.


Member Function Documentation

void BALL::System::append ( Molecule molecule  ) 

Append a molecule after the last position.

Parameters:
molecule the molecule to append
Size BALL::System::countAtoms (  )  const

Count the atoms in this system.

Returns:
Size the number of atoms

Reimplemented from BALL::AtomContainer.

Size BALL::System::countChains (  )  const

Count the chains in this system.

Returns:
Size the number of chains
Size BALL::System::countFragments (  )  const

Count the fragments in this system.

Returns:
Size the number of fragments
Size BALL::System::countMolecules (  )  const

Count the molecules in this system.

Returns:
Size the number of molecules
Size BALL::System::countNucleicAcids (  )  const

Count the nucleic acids in this system.

Returns:
Size the number of nucleic acids
Size BALL::System::countNucleotides (  )  const

Count the nucleotides in this system.

Returns:
Size the number of nucleotides
Size BALL::System::countProteins (  )  const

Count the proteins in this system.

Returns:
Size the number of proteins
Size BALL::System::countResidues (  )  const

Count the residues in this system.

Returns:
Size the number of residues
Size BALL::System::countSecondaryStructures (  )  const

Count the secondary structures in this system.

Returns:
Size the number of secondary structures
void BALL::System::get ( System system,
bool  deep = true 
) const

Copying with cloning facility. The assignment is either deep or shallow (default).

Parameters:
System the System to be assigned to
const Molecule* BALL::System::getMolecule ( Position  position  )  const

Get a pointer to a child Molecule at a given position. The pointer is 0 if this instance does not have a Molecule at this position.

Note:
The current implementation of this function has linear complexity
Parameters:
position the position of the child molecule
Returns:
Molecule* - constant pointer to the child Molecule at position
Molecule* BALL::System::getMolecule ( Position  position  ) 

Get a pointer to a child Molecule at a given position. The pointer is 0 if this instance does not have a Molecule at this position.

Note:
The current implementation of this function has linear complexity
Parameters:
position the position of the child molecule
Returns:
Molecule* - mutable pointer to the child Molecule at position
const Protein* BALL::System::getProtein ( Position  position  )  const

Get a pointer to a child Protein a given position. The pointer is 0 if this instance does not have a Protein at this position.

Note:
The current implementation of this function has linear complexity
Parameters:
position the position of the child Protein
Returns:
Protien* - mutable pointer to the child Protein at position
Protein* BALL::System::getProtein ( Position  position  ) 

Get a pointer to a child Protein a given position. The pointer is 0 if this instance does not have a Protein at this position.

Note:
The current implementation of this function has linear complexity
Parameters:
position the position of the child Protein
Returns:
Protien* - mutable pointer to the child Protein at position
void BALL::System::insert ( Molecule molecule  ) 

Insert a molecule after the last position.

Parameters:
molecule the molecule to insert
void BALL::System::insertAfter ( Molecule molecule,
Composite after 
)

Insert a molecule after a given Composite object.

Parameters:
molecule the molecule to insert
after the Composite object to insert before
void BALL::System::insertBefore ( Molecule molecule,
Composite before 
)

Insert a molecule before a given Composite object.

Parameters:
molecule the molecule to insert
before the Composite object to insert before
bool BALL::System::operator!= ( const System system  )  const

Inequality operator

See also:
operator ==
System& BALL::System::operator= ( const System system  ) 

Assignment operator.

Parameters:
system the System to be copied (cloned)
Returns:
System& - this instance
bool BALL::System::operator== ( const System system  )  const

Equality operator. Two instance of System are equal if they have the same handle.

See also:
Object::operator ==
void BALL::System::persistentRead ( PersistenceManager pm  )  throw (Exception::GeneralException) [virtual]

Reads a System object from a persistent stream.

Parameters:
pm the persistence manager

Reimplemented from BALL::AtomContainer.

void BALL::System::persistentWrite ( PersistenceManager pm,
const char *  name = 0 
) const throw (Exception::GeneralException) [virtual]

Writes a System object to a persistent stream.

Parameters:
pm the persistence manager

Reimplemented from BALL::AtomContainer.

void BALL::System::prepend ( Molecule molecule  ) 

Prepend a molecule at position 0.

Parameters:
molecule the molecule to prepend
bool BALL::System::remove ( Molecule molecule  ) 

Remove a molecule.

Parameters:
molecule the molecule to remove
void BALL::System::set ( const System system,
bool  deep = true 
)

Assignment with cloning facility. The assignment is either deep or shallow (default).

Parameters:
system the System to be copied (cloned)
deep make a deep (=true) or shallow (=false) copy
void BALL::System::splice ( System system  ) 

Move the children of system into this instance. The children are inserted using spliceBefore .

void BALL::System::spliceAfter ( System system  ) 

Move the children of system into this instance. Cut all children of system and append them after the children of this instance.

Parameters:
system the system to access
void BALL::System::spliceBefore ( System system  ) 

Move the children of system into this instance. Cut all children of system and prepend them before the children of this instance.

Parameters:
system the system to access