OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
DiscParticle Class Reference

#include <DiscParticle.h>

Collaboration diagram for DiscParticle:

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 ()
void * read_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

◆ Offset_t

typedef long DiscParticle::Offset_t
private

Definition at line 588 of file DiscParticle.h.

Member Enumeration Documentation

◆ DPMode1

Enumerator
INPUT 
OUTPUT 
APPEND 

Definition at line 35 of file DiscParticle.h.

◆ DPMode2

Enumerator
ALL 
ATTRIB 

Definition at line 39 of file DiscParticle.h.

Constructor & Destructor Documentation

◆ DiscParticle() [1/3]

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

Definition at line 45 of file DiscParticleFunctions.cpp.

References initialize().

Referenced by DiscParticle(), and operator=().

Here is the call graph for this function:

◆ DiscParticle() [2/3]

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::~DiscParticle ( )

Definition at line 103 of file DiscParticleFunctions.cpp.

References Config, and RecordList.

◆ DiscParticle() [3/3]

DiscParticle::DiscParticle ( const DiscParticle & )
private

References DiscParticle().

Here is the call graph for this function:

Member Function Documentation

◆ get_DataMode()

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(), read(), and read().

◆ get_DiscType()

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:

◆ get_ElemByteSize()

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(), read(), and read().

◆ get_IOMode()

int DiscParticle::get_IOMode ( ) const
inline

Definition at line 82 of file DiscParticle.h.

References IOMode.

◆ get_NumAttributes()

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:

◆ get_NumGlobalParticles()

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

Definition at line 90 of file DiscParticle.h.

References RecordList.

Referenced by printDebug().

◆ get_NumLocalParticles()

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

Definition at line 133 of file DiscParticleFunctions.cpp.

References RecordList.

◆ get_NumRecords()

unsigned int DiscParticle::get_NumRecords ( ) const
inline

Definition at line 71 of file DiscParticle.h.

References RecordList.

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

◆ get_OK()

bool DiscParticle::get_OK ( ) const
inline

Definition at line 65 of file DiscParticle.h.

References ConfigOK.

◆ get_TypeString()

const char * DiscParticle::get_TypeString ( ) const
inline

Definition at line 106 of file DiscParticle.h.

References TypeString.

◆ initialize()

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, OUTPUT, read_meta(), and TypeString.

Referenced by DiscParticle(), and DiscParticle().

Here is the call graph for this function:

◆ open_file()

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(), read(), write(), write(), and write_meta().

Here is the call graph for this function:

◆ operator=()

DiscParticle & DiscParticle::operator= ( const DiscParticle & )
private

References DiscParticle().

Here is the call graph for this function:

◆ printDebug() [1/2]

void DiscParticle::printDebug ( )

Definition at line 686 of file DiscParticleFunctions.cpp.

References printDebug().

Referenced by printDebug().

Here is the call graph for this function:

◆ printDebug() [2/2]

void DiscParticle::printDebug ( std::ostream & outmsg)

Definition at line 688 of file DiscParticleFunctions.cpp.

References a, BaseFile, Config, CurrentOffset, endl(), get_DiscType(), get_ElemByteSize(), get_NumAttributes(), get_NumGlobalParticles(), get_NumRecords(), INFORM_ALL_NODES, and RecordList.

Here is the call graph for this function:

◆ read() [1/2]

◆ read() [2/2]

template<class T>
bool DiscParticle::read ( ParticleAttrib< T > & pattr,
unsigned int record )
inline

◆ read_data()

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(), and read().

Here is the call graph for this function:

◆ read_meta()

bool DiscParticle::read_meta ( )
private

Definition at line 245 of file DiscParticleFunctions.cpp.

References DiscMeta::begin(), IpplInfo::Comm, Config, ConfigOK, CurrentOffset, DF_READ_META_TAG, DF_TAG_CYCLE, DiscMeta::end(), endl(), ERRORMSG, Message::get(), getMessage(), IpplInfo::myNode(), PAssert, Message::put(), putMessage(), RecordList, DiscMeta::size(), and TypeString.

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

Here is the call graph for this function:

◆ write() [1/2]

◆ write() [2/2]

template<class T>
bool DiscParticle::write ( ParticleAttrib< T > & pattr)
inline

Definition at line 465 of file DiscParticle.h.

References APPEND, IpplInfo::Comm, COMM_ANY_NODE, Config, ConfigOK, ParticleAttribBase::elementSize(), endl(), ERRORMSG, FB_TAG_CYCLE, FB_WRITE_TAG, get_NumRecords(), INPUT, IOMode, IpplInfo::myNode(), open_file(), PAssert, Message::put(), ParticleAttrib< T >::putMessage(), read_meta(), RecordList, ParticleAttrib< T >::size(), ParticleAttribBase::typeString(), write_data(), and write_meta().

Here is the call graph for this function:

◆ write_data()

bool DiscParticle::write_data ( FILE * outputData,
std::vector< Message * > & msgvec,
RecordInfo * info )
private

Definition at line 571 of file DiscParticleFunctions.cpp.

References a, CurrentOffset, endl(), and ERRORMSG.

Referenced by write(), and write().

Here is the call graph for this function:

◆ write_meta()

bool DiscParticle::write_meta ( )
private

Definition at line 175 of file DiscParticleFunctions.cpp.

References Config, ConfigOK, CurrentOffset, endl(), ERRORMSG, INPUT, IOMode, IpplInfo::myNode(), open_file(), RecordList, and TypeString.

Referenced by write(), and write().

Here is the call graph for this function:

Member Data Documentation

◆ BaseFile

std::string DiscParticle::BaseFile
private

Definition at line 598 of file DiscParticle.h.

Referenced by initialize(), and printDebug().

◆ Config

DiscConfig* DiscParticle::Config
private

◆ ConfigOK

bool DiscParticle::ConfigOK
private

Definition at line 592 of file DiscParticle.h.

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

◆ CurrentOffset

Offset_t DiscParticle::CurrentOffset
private

Definition at line 622 of file DiscParticle.h.

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

◆ IOMode

int DiscParticle::IOMode
private

Definition at line 595 of file DiscParticle.h.

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

◆ RecordList

◆ TypeString

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: