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 ()
doubleoperator[] (unsigned globalIndex) throw (DistributedVectorException)
doubleoperator[] (Iterator index) throw (DistributedVectorException)

Private Attributes

unsigned mStride
unsigned mStripe
doublempVec
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 169 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 185 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 199 of file DistributedVector.hpp.

References mpFactory.

Referenced by ParallelColumnDataWriter::PutVectorStripe().

double& DistributedVector::Stripe::operator[] ( Iterator  index  )  throw (DistributedVectorException) [inline]
Parameters:
index 
Returns:
value of striped distributed vector pointed to by index.

Definition at line 225 of file DistributedVector.hpp.

References mpVec, mStride, and mStripe.

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 212 of file DistributedVector.hpp.

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


Member Data Documentation

One above the last entry owned by the current processor.

Definition at line 175 of file DistributedVector.hpp.

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

The first entry owned by the current processor.

Definition at line 174 of file DistributedVector.hpp.

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

The factory that created our parent vector.

Definition at line 176 of file DistributedVector.hpp.

Referenced by GetFactory(), and Stripe().

The local part of the underlying PETSc vector.

Definition at line 173 of file DistributedVector.hpp.

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

Number of types of information in the vector.

Definition at line 171 of file DistributedVector.hpp.

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

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

Definition at line 172 of file DistributedVector.hpp.

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


The documentation for this class was generated from the following file:
Generated on Thu Dec 22 13:04:25 2011 for Chaste by  doxygen 1.6.3