DistributedVector::Stripe Class Reference

#include <DistributedVector.hpp>

Collaboration diagram for DistributedVector::Stripe:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 Stripe (DistributedVector parallelVec, unsigned stripe)
DistributedVectorFactoryGetFactory ()
double & operator[] (unsigned globalIndex) throw (DistributedVectorException)
double & operator[] (Iterator index) throw (DistributedVectorException)

Private Attributes

unsigned mStride
unsigned mStripe
double * mpVec
unsigned mLo
unsigned mHi
DistributedVectorFactorympFactory


Detailed Description

Provide access to a particular stripe of a striped vector.

A striped vector has multiple types of information encoded within a single vector, with a layout like [x_1, y_1, z_1, x_2, y_2, z_2, ... x_n, y_n, z_n]. This class provides easy access to, for example, the x values.

Definition at line 166 of file DistributedVector.hpp.


Constructor & Destructor Documentation

DistributedVector::Stripe::Stripe ( DistributedVector  parallelVec,
unsigned  stripe 
) [inline]

Constructor.

Parameters:
parallelVec striped vector
stripe number of this stripe within the vector starting from 0

Definition at line 182 of file DistributedVector.hpp.

References DistributedVector::GetFactory(), DistributedVector::GetHigh(), DistributedVector::GetLow(), mHi, mLo, mpFactory, DistributedVector::mpVec, mpVec, DistributedVector::mSizeMultiplier, mStride, and mStripe.


Member Function Documentation

DistributedVectorFactory* DistributedVector::Stripe::GetFactory (  )  [inline]

Returns:
the factory used to create this vector.

Definition at line 196 of file DistributedVector.hpp.

References mpFactory.

Referenced by ParallelColumnDataWriter::PutVectorStripe().

double& DistributedVector::Stripe::operator[] ( unsigned  globalIndex  )  throw (DistributedVectorException) [inline]

Access a particular element of the stripe if on this processor. For use in tests. Will throw a DistributedVectorException if the specified element is not on this process.

Parameters:
globalIndex index within the stripe
Returns:
value of striped vector

Definition at line 209 of file DistributedVector.hpp.

References mHi, mLo, mpVec, mStride, and mStripe.

double& DistributedVector::Stripe::operator[] ( Iterator  index  )  throw (DistributedVectorException) [inline]

Parameters:
index 
Returns:
value of striped distributed vector pointed to by index.

Definition at line 222 of file DistributedVector.hpp.

References mpVec, mStride, and mStripe.


Member Data Documentation

Number of types of information in the vector.

Definition at line 168 of file DistributedVector.hpp.

Referenced by operator[](), and Stripe().

The number of this stripe within the vector starting from 0.

Definition at line 169 of file DistributedVector.hpp.

Referenced by operator[](), and Stripe().

The local part of the underlying PETSc vector.

Definition at line 170 of file DistributedVector.hpp.

Referenced by operator[](), and Stripe().

unsigned DistributedVector::Stripe::mLo [private]

The first entry owned by the current processor.

Definition at line 171 of file DistributedVector.hpp.

Referenced by operator[](), and Stripe().

unsigned DistributedVector::Stripe::mHi [private]

One above the last entry owned by the current processor.

Definition at line 172 of file DistributedVector.hpp.

Referenced by operator[](), and Stripe().

The factory that created our parent vector.

Definition at line 173 of file DistributedVector.hpp.

Referenced by GetFactory(), and Stripe().


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

Generated on Mon Nov 1 12:36:39 2010 for Chaste by  doxygen 1.5.5