OPAL (Object Oriented Parallel Accelerator Library)  2024.1
OPAL
Classes | Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
DiscParticle Class Reference

#include <DiscParticle.h>

Collaboration diagram for DiscParticle:
Collaboration graph
[legend]

Classes

struct  RecordInfo
 

Public Types

enum  DPMode1 { INPUT, OUTPUT, APPEND }
 
enum  DPMode2 { ALL, ATTRIB }
 

Public Member Functions

 DiscParticle (const char *fname, const char *config, int iomode, const char *typestr=0)
 
 DiscParticle (const char *fname, int iomode, const char *=0)
 
 ~DiscParticle ()
 
bool get_OK () const
 
unsigned int get_NumRecords () const
 
int get_DataMode (unsigned int record=0) const
 
int get_IOMode () const
 
unsigned int get_NumLocalParticles (unsigned int record=0) const
 
unsigned int get_NumGlobalParticles (unsigned int record=0) const
 
unsigned int get_NumAttributes (unsigned int record=0) const
 
unsigned int get_ElemByteSize (unsigned int record=0, unsigned int attrib=0) const
 
const char * get_TypeString () const
 
const char * get_DiscType (unsigned int record=0, unsigned int attrib=0) const
 
template<class T >
bool read (IpplParticleBase< T > &pbase, unsigned int record)
 
template<class T >
bool read (ParticleAttrib< T > &pattr, unsigned int record)
 
template<class T >
bool write (IpplParticleBase< T > &pbase)
 
template<class T >
bool write (ParticleAttrib< T > &pattr)
 
void printDebug (std::ostream &)
 
void printDebug ()
 

Private Types

typedef long Offset_t
 

Private Member Functions

void initialize (const char *base, const char *config, const char *typestr, int iomode)
 
FILE * open_file (const std::string &fnm, const std::string &mode, bool reporterr=true)
 
bool read_meta ()
 
bool write_meta ()
 
voidread_data (FILE *outputData, unsigned int attrib, unsigned int record, unsigned int fileset)
 
bool write_data (FILE *outputData, std::vector< Message * > &, RecordInfo *)
 
 DiscParticle (const DiscParticle &)
 
DiscParticleoperator= (const DiscParticle &)
 

Private Attributes

DiscConfigConfig
 
bool ConfigOK
 
int IOMode
 
std::string BaseFile
 
std::string TypeString
 
std::vector< RecordInfo * > RecordList
 
Offset_t CurrentOffset
 

Detailed Description

Definition at line 30 of file DiscParticle.h.

Member Typedef Documentation

typedef long DiscParticle::Offset_t
private

Definition at line 588 of file DiscParticle.h.

Member Enumeration Documentation

Enumerator
INPUT 
OUTPUT 
APPEND 

Definition at line 35 of file DiscParticle.h.

Enumerator
ALL 
ATTRIB 

Definition at line 39 of file DiscParticle.h.

Constructor & Destructor Documentation

DiscParticle::DiscParticle ( const char *  fname,
const char *  config,
int  iomode,
const char *  typestr = 0 
)

Definition at line 45 of file DiscParticleFunctions.cpp.

References initialize().

Here is the call graph for this function:

DiscParticle::DiscParticle ( const char *  fname,
int  iomode,
const char *  typestr = 0 
)

Definition at line 56 of file DiscParticleFunctions.cpp.

References initialize().

Here is the call graph for this function:

DiscParticle::~DiscParticle ( )

Definition at line 103 of file DiscParticleFunctions.cpp.

References Config, and RecordList.

DiscParticle::DiscParticle ( const DiscParticle )
private

Member Function Documentation

int DiscParticle::get_DataMode ( unsigned int  record = 0) const
inline

Definition at line 76 of file DiscParticle.h.

References ALL, ATTRIB, and RecordList.

Referenced by get_NumAttributes(), and read().

const char * DiscParticle::get_DiscType ( unsigned int  record = 0,
unsigned int  attrib = 0 
) const

Definition at line 119 of file DiscParticleFunctions.cpp.

References get_NumRecords(), and RecordList.

Referenced by printDebug().

Here is the call graph for this function:

unsigned int DiscParticle::get_ElemByteSize ( unsigned int  record = 0,
unsigned int  attrib = 0 
) const
inline

Definition at line 100 of file DiscParticle.h.

References RecordList.

Referenced by printDebug(), and read().

int DiscParticle::get_IOMode ( ) const
inline

Definition at line 82 of file DiscParticle.h.

References IOMode.

unsigned int DiscParticle::get_NumAttributes ( unsigned int  record = 0) const
inline

Definition at line 95 of file DiscParticle.h.

References ALL, get_DataMode(), and RecordList.

Referenced by printDebug(), and read().

Here is the call graph for this function:

unsigned int DiscParticle::get_NumGlobalParticles ( unsigned int  record = 0) const
inline

Definition at line 90 of file DiscParticle.h.

References RecordList.

Referenced by printDebug().

unsigned int DiscParticle::get_NumLocalParticles ( unsigned int  record = 0) const

Definition at line 133 of file DiscParticleFunctions.cpp.

References RecordList.

unsigned int DiscParticle::get_NumRecords ( ) const
inline

Definition at line 71 of file DiscParticle.h.

References RecordList.

Referenced by get_DiscType(), printDebug(), read(), and write().

bool DiscParticle::get_OK ( ) const
inline

Definition at line 65 of file DiscParticle.h.

References ConfigOK.

const char* DiscParticle::get_TypeString ( ) const
inline

Definition at line 106 of file DiscParticle.h.

References TypeString.

void DiscParticle::initialize ( const char *  base,
const char *  config,
const char *  typestr,
int  iomode 
)
private

Definition at line 65 of file DiscParticleFunctions.cpp.

References IpplInfo::abort(), APPEND, BaseFile, Config, ConfigOK, CurrentOffset, INPUT, IOMode, DiscConfig::ok(), OUTPUT, read_meta(), and TypeString.

Referenced by DiscParticle().

Here is the call graph for this function:

FILE * DiscParticle::open_file ( const std::string &  fnm,
const std::string &  mode,
bool  reporterr = true 
)
private

Definition at line 144 of file DiscParticleFunctions.cpp.

References endl(), ERRORMSG, and IpplInfo::myNode().

Referenced by read(), write(), and write_meta().

Here is the call graph for this function:

DiscParticle& DiscParticle::operator= ( const DiscParticle )
private
void DiscParticle::printDebug ( std::ostream &  outmsg)
void DiscParticle::printDebug ( )

Definition at line 686 of file DiscParticleFunctions.cpp.

template<class T >
bool DiscParticle::read ( IpplParticleBase< T > &  pbase,
unsigned int  record 
)
inline
template<class T >
bool DiscParticle::read ( ParticleAttrib< T > &  pattr,
unsigned int  record 
)
inline
void * DiscParticle::read_data ( FILE *  outputData,
unsigned int  attrib,
unsigned int  record,
unsigned int  fileset 
)
private

Definition at line 645 of file DiscParticleFunctions.cpp.

References endl(), ERRORMSG, and RecordList.

Referenced by read().

Here is the call graph for this function:

bool DiscParticle::read_meta ( )
private
template<class T >
bool DiscParticle::write ( IpplParticleBase< T > &  pbase)
inline
template<class T >
bool DiscParticle::write ( ParticleAttrib< T > &  pattr)
inline
bool DiscParticle::write_data ( FILE *  outputData,
std::vector< Message * > &  msgvec,
RecordInfo info 
)
private
bool DiscParticle::write_meta ( )
private

Member Data Documentation

std::string DiscParticle::BaseFile
private

Definition at line 598 of file DiscParticle.h.

Referenced by initialize(), and printDebug().

DiscConfig* DiscParticle::Config
private

Definition at line 591 of file DiscParticle.h.

Referenced by initialize(), printDebug(), read(), read_meta(), write(), write_meta(), and ~DiscParticle().

bool DiscParticle::ConfigOK
private

Definition at line 592 of file DiscParticle.h.

Referenced by get_OK(), initialize(), read(), read_meta(), write(), and write_meta().

Offset_t DiscParticle::CurrentOffset
private

Definition at line 622 of file DiscParticle.h.

Referenced by initialize(), printDebug(), read_meta(), write_data(), and write_meta().

int DiscParticle::IOMode
private

Definition at line 595 of file DiscParticle.h.

Referenced by get_IOMode(), initialize(), read(), write(), and write_meta().

std::vector<RecordInfo *> DiscParticle::RecordList
private
std::string DiscParticle::TypeString
private

Definition at line 599 of file DiscParticle.h.

Referenced by get_TypeString(), initialize(), read_meta(), and write_meta().


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