Classes | Public Types | Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | Friends

LibGeoDecomp::BoxCell< CONTAINER > Class Template Reference

This class is an adapter for implementing n-body codes and molecular dynamics (MD) applications with LibGeoDecomp. More...

#include <boxcell.h>

Collaboration diagram for LibGeoDecomp::BoxCell< CONTAINER >:
Collaboration graph
[legend]

List of all members.

Classes

class  API
class  NeighborhoodAdapter

Public Types

typedef CONTAINER Container
typedef Container::value_type Cargo
typedef Container::value_type value_type
typedef Container::const_iterator const_iterator
typedef Container::iterator iterator
typedef
APITraits::SelectTopology
< Cargo >::Value 
Topology

Public Member Functions

 BoxCell (const FloatCoord< DIM > &origin=Coord< DIM >(), const FloatCoord< DIM > &dimension=Coord< DIM >())
const_iterator begin () const
iterator begin ()
const_iterator end () const
iterator end ()
void insert (const Cargo &particle)
std::size_t size () const
const Cargooperator[] (const std::size_t i) const
Cargooperator[] (const std::size_t i)
BoxCelloperator<< (const Cargo &cargo)
template<class HOOD >
void update (const HOOD &hood, const int nanoStep)
template<class NEIGHBORHOOD_ADAPTER_SELF , class NEIGHBORHOOD_ADAPTER_ALL >
void updateCargo (const NEIGHBORHOOD_ADAPTER_SELF &ownNeighbors, const NEIGHBORHOOD_ADAPTER_ALL &allNeighbors, const int nanoStep)

Static Public Attributes

static const int DIM = Topology::DIM

Private Member Functions

template<typename ITERATOR >
void addContainedParticles (const ITERATOR &begin, const ITERATOR &end)

Private Attributes

FloatCoord< DIMorigin
FloatCoord< DIMdimension
Container particles

Friends

class BoxCellTest

Detailed Description

template<typename CONTAINER>
class LibGeoDecomp::BoxCell< CONTAINER >

This class is an adapter for implementing n-body codes and molecular dynamics (MD) applications with LibGeoDecomp.

A BoxCell represents a fixed volume of the simulation space. It stores those particles (of type Cargo) which reside in its area in the given CONTAINER type (e.g. LibGeoDecomp::FixedArray or std::vector). Particles can access neighboring particles in a given distance during update().


Member Typedef Documentation

template<typename CONTAINER >
typedef Container::value_type LibGeoDecomp::BoxCell< CONTAINER >::Cargo
template<typename CONTAINER >
typedef Container::const_iterator LibGeoDecomp::BoxCell< CONTAINER >::const_iterator
template<typename CONTAINER >
typedef CONTAINER LibGeoDecomp::BoxCell< CONTAINER >::Container
template<typename CONTAINER >
typedef Container::iterator LibGeoDecomp::BoxCell< CONTAINER >::iterator
template<typename CONTAINER >
typedef APITraits::SelectTopology<Cargo>::Value LibGeoDecomp::BoxCell< CONTAINER >::Topology
template<typename CONTAINER >
typedef Container::value_type LibGeoDecomp::BoxCell< CONTAINER >::value_type

Constructor & Destructor Documentation

template<typename CONTAINER >
LibGeoDecomp::BoxCell< CONTAINER >::BoxCell ( const FloatCoord< DIM > &  origin = Coord<DIM>(),
const FloatCoord< DIM > &  dimension = Coord<DIM>() 
) [inline, explicit]

Member Function Documentation

template<typename CONTAINER >
template<typename ITERATOR >
void LibGeoDecomp::BoxCell< CONTAINER >::addContainedParticles ( const ITERATOR &  begin,
const ITERATOR &  end 
) [inline, private]
template<typename CONTAINER >
iterator LibGeoDecomp::BoxCell< CONTAINER >::begin (  )  [inline]
template<typename CONTAINER >
const_iterator LibGeoDecomp::BoxCell< CONTAINER >::begin (  )  const [inline]
template<typename CONTAINER >
iterator LibGeoDecomp::BoxCell< CONTAINER >::end (  )  [inline]
template<typename CONTAINER >
const_iterator LibGeoDecomp::BoxCell< CONTAINER >::end (  )  const [inline]
template<typename CONTAINER >
void LibGeoDecomp::BoxCell< CONTAINER >::insert ( const Cargo particle  )  [inline]
template<typename CONTAINER >
BoxCell& LibGeoDecomp::BoxCell< CONTAINER >::operator<< ( const Cargo cargo  )  [inline]
template<typename CONTAINER >
Cargo& LibGeoDecomp::BoxCell< CONTAINER >::operator[] ( const std::size_t  i  )  [inline]
template<typename CONTAINER >
const Cargo& LibGeoDecomp::BoxCell< CONTAINER >::operator[] ( const std::size_t  i  )  const [inline]
template<typename CONTAINER >
std::size_t LibGeoDecomp::BoxCell< CONTAINER >::size (  )  const [inline]
template<typename CONTAINER >
template<class HOOD >
void LibGeoDecomp::BoxCell< CONTAINER >::update ( const HOOD &  hood,
const int  nanoStep 
) [inline]
template<typename CONTAINER >
template<class NEIGHBORHOOD_ADAPTER_SELF , class NEIGHBORHOOD_ADAPTER_ALL >
void LibGeoDecomp::BoxCell< CONTAINER >::updateCargo ( const NEIGHBORHOOD_ADAPTER_SELF &  ownNeighbors,
const NEIGHBORHOOD_ADAPTER_ALL &  allNeighbors,
const int  nanoStep 
) [inline]

Friends And Related Function Documentation

template<typename CONTAINER >
friend class BoxCellTest [friend]

Member Data Documentation

template<typename CONTAINER >
const int LibGeoDecomp::BoxCell< CONTAINER >::DIM = Topology::DIM [static]
template<typename CONTAINER >
FloatCoord<DIM> LibGeoDecomp::BoxCell< CONTAINER >::dimension [private]
template<typename CONTAINER >
FloatCoord<DIM> LibGeoDecomp::BoxCell< CONTAINER >::origin [private]
template<typename CONTAINER >
Container LibGeoDecomp::BoxCell< CONTAINER >::particles [private]

The documentation for this class was generated from the following file: