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

#include <H5PartWrapperForPT.h>

Inheritance diagram for H5PartWrapperForPT:
Collaboration diagram for H5PartWrapperForPT:

Public Member Functions

 H5PartWrapperForPT (const std::string &fileName, h5_int32_t flags=H5_O_WRONLY)
 H5PartWrapperForPT (const std::string &fileName, int restartStep, std::string sourceFile, h5_int32_t flags=H5_O_RDWR)
virtual ~H5PartWrapperForPT ()
virtual void readHeader ()
virtual void readStep (PartBunchBase< double, 3 > *, h5_ssize_t firstParticle, h5_ssize_t lastParticle)
virtual void writeHeader ()
virtual void writeStep (PartBunchBase< double, 3 > *, const std::map< std::string, double > &additionalStepAttributes)
virtual bool predecessorIsSameFlavour () const
void close ()
double getLastPosition ()
void storeCavityInformation ()
size_t getNumParticles () const

Protected Member Functions

void open (h5_int32_t flags)
void copyFile (const std::string &sourceFile, int lastStep=-1, h5_int32_t flags=H5_O_WRONLY)
void copyFileSystem (const std::string &sourceFile)
void copyHeader (h5_file_t source)
void copyStep (h5_file_t source, int step)
void copyStepHeader (h5_file_t source)
void copyStepData (h5_file_t source)
void sendFailureMessage (bool failed, const std::string &where, const std::string &what)
void receiveFailureMessage (int sourceNode, const std::string &where, const std::string &what)

Static Protected Member Functions

static void reportOnError (h5_int64_t rc, const char *file, int line)

Protected Attributes

h5_file_t file_m
std::string fileName_m
std::string predecessorOPALFlavour_m
h5_int64_t numSteps_m
bool startedFromExistingFile_m

Static Protected Attributes

static std::string copyFilePrefix_m = ".copy"

Private Member Functions

void readStepHeader (PartBunchBase< double, 3 > *)
void readStepData (PartBunchBase< double, 3 > *, h5_ssize_t, h5_ssize_t)
void writeStepHeader (PartBunchBase< double, 3 > *, const std::map< std::string, double > &)
void writeStepData (PartBunchBase< double, 3 > *)

Detailed Description

Definition at line 25 of file H5PartWrapperForPT.h.

Constructor & Destructor Documentation

◆ H5PartWrapperForPT() [1/2]

H5PartWrapperForPT::H5PartWrapperForPT ( const std::string & fileName,
h5_int32_t flags = H5_O_WRONLY )

Definition at line 35 of file H5PartWrapperForPT.cpp.

References H5PartWrapper::H5PartWrapper().

Here is the call graph for this function:

◆ H5PartWrapperForPT() [2/2]

H5PartWrapperForPT::H5PartWrapperForPT ( const std::string & fileName,
int restartStep,
std::string sourceFile,
h5_int32_t flags = H5_O_RDWR )

Definition at line 39 of file H5PartWrapperForPT.cpp.

References H5PartWrapper::file_m, OpalData::getInstance(), H5PartWrapper::H5PartWrapper(), and OpalData::setRestartStep().

Here is the call graph for this function:

◆ ~H5PartWrapperForPT()

H5PartWrapperForPT::~H5PartWrapperForPT ( )
virtual

Definition at line 48 of file H5PartWrapperForPT.cpp.

Member Function Documentation

◆ close()

◆ copyFile()

void H5PartWrapper::copyFile ( const std::string & sourceFile,
int lastStep = -1,
h5_int32_t flags = H5_O_WRONLY )
protectedinherited

Definition at line 128 of file H5PartWrapper.cpp.

References close(), IpplInfo::Comm, copyFilePrefix_m, copyFileSystem(), copyHeader(), copyStep(), fileName_m, IpplInfo::getComm(), IpplInfo::myNode(), numSteps_m, open(), PAssert, predecessorOPALFlavour_m, READSTEPATTRIB, and REPORTONERROR.

Referenced by H5PartWrapper().

Here is the call graph for this function:

◆ copyFileSystem()

void H5PartWrapper::copyFileSystem ( const std::string & sourceFile)
protectedinherited

Definition at line 253 of file H5PartWrapper.cpp.

References fileName_m, IpplInfo::myNode(), receiveFailureMessage(), and sendFailureMessage().

Referenced by copyFile().

Here is the call graph for this function:

◆ copyHeader()

void H5PartWrapper::copyHeader ( h5_file_t source)
protectedinherited

Definition at line 290 of file H5PartWrapper.cpp.

References file_m, READFILEATTRIB, REPORTONERROR, WRITEFILEATTRIB, and WRITESTRINGFILEATTRIB.

Referenced by copyFile().

◆ copyStep()

void H5PartWrapper::copyStep ( h5_file_t source,
int step )
protectedinherited

Definition at line 360 of file H5PartWrapper.cpp.

References copyStepData(), copyStepHeader(), file_m, numSteps_m, and REPORTONERROR.

Referenced by copyFile().

Here is the call graph for this function:

◆ copyStepData()

void H5PartWrapper::copyStepData ( h5_file_t source)
protectedinherited

Definition at line 445 of file H5PartWrapper.cpp.

References Util::c_data(), file_m, IpplInfo::getNodes(), IpplInfo::myNode(), READDATA, REPORTONERROR, and WRITEDATA.

Referenced by copyStep().

Here is the call graph for this function:

◆ copyStepHeader()

void H5PartWrapper::copyStepHeader ( h5_file_t source)
protectedinherited

◆ getLastPosition()

double H5PartWrapper::getLastPosition ( )
inlineinherited

Definition at line 89 of file H5PartWrapper.h.

References file_m, open(), readStep(), READSTEPATTRIB, and REPORTONERROR.

Here is the call graph for this function:

◆ getNumParticles()

◆ open()

void H5PartWrapper::open ( h5_int32_t flags)
protectedinherited

Definition at line 71 of file H5PartWrapper.cpp.

References close(), file_m, fileName_m, IpplInfo::getComm(), and PAssert.

Referenced by copyFile(), getLastPosition(), H5PartWrapper(), H5PartWrapper(), storeCavityInformation(), H5PartWrapperForPC::writeStep(), and H5PartWrapperForPT::writeStep().

Here is the call graph for this function:

◆ predecessorIsSameFlavour()

bool H5PartWrapperForPT::predecessorIsSameFlavour ( ) const
inlinevirtual

Implements H5PartWrapper.

Definition at line 48 of file H5PartWrapperForPT.h.

References H5PartWrapper::predecessorOPALFlavour_m.

◆ readHeader()

void H5PartWrapperForPT::readHeader ( )
virtual

Implements H5PartWrapper.

Definition at line 51 of file H5PartWrapperForPT.cpp.

References H5PartWrapper::file_m, OpalData::getInstance(), name, READFILEATTRIB, REPORTONERROR, OpalData::setGlobalPhaseShift(), and OpalData::setRestartDumpFreq().

Here is the call graph for this function:

◆ readStep()

void H5PartWrapperForPT::readStep ( PartBunchBase< double, 3 > * bunch,
h5_ssize_t firstParticle,
h5_ssize_t lastParticle )
virtual

Implements H5PartWrapper.

Definition at line 105 of file H5PartWrapperForPT.cpp.

References H5PartWrapper::file_m, readStep(), readStepData(), readStepHeader(), and REPORTONERROR.

Referenced by readStep().

Here is the call graph for this function:

◆ readStepData()

void H5PartWrapperForPT::readStepData ( PartBunchBase< double, 3 > * bunch,
h5_ssize_t firstParticle,
h5_ssize_t lastParticle )
private

Definition at line 148 of file H5PartWrapperForPT.cpp.

References PartBunchBase< T, Dim >::Bin, Util::c_data(), H5PartWrapper::file_m, H5PartWrapper::getNumParticles(), PartBunchBase< T, Dim >::ID, PartBunchBase< T, Dim >::P, PartBunchBase< T, Dim >::Q, PartBunchBase< T, Dim >::R, READDATA, and REPORTONERROR.

Referenced by readStep().

Here is the call graph for this function:

◆ readStepHeader()

void H5PartWrapperForPT::readStepHeader ( PartBunchBase< double, 3 > * bunch)
private

◆ receiveFailureMessage()

void H5PartWrapper::receiveFailureMessage ( int sourceNode,
const std::string & where,
const std::string & what )
protectedinherited

Definition at line 512 of file H5PartWrapper.cpp.

References IpplInfo::Comm, getMessage(), and where().

Referenced by copyFileSystem().

Here is the call graph for this function:

◆ reportOnError()

void H5PartWrapper::reportOnError ( h5_int64_t rc,
const char * file,
int line )
inlinestaticprotectedinherited

Definition at line 83 of file H5PartWrapper.h.

References endl(), and ERRORMSG.

Referenced by H5PartWrapperForPT::writeStepData().

Here is the call graph for this function:

◆ sendFailureMessage()

void H5PartWrapper::sendFailureMessage ( bool failed,
const std::string & where,
const std::string & what )
protectedinherited

Definition at line 500 of file H5PartWrapper.cpp.

References IpplInfo::Comm, putMessage(), and where().

Referenced by copyFileSystem().

Here is the call graph for this function:

◆ storeCavityInformation()

void H5PartWrapper::storeCavityInformation ( )
inherited

Write number of Cavities with autophase information

Definition at line 86 of file H5PartWrapper.cpp.

References close(), end(), endl(), file_m, OpalData::getFirstMaxPhases(), OpalData::getInstance(), OpalData::getLastMaxPhases(), OpalData::getNumberOfMaxPhases(), INFOMSG, open(), WRITEFILEATTRIB, and WRITESTRINGFILEATTRIB.

Here is the call graph for this function:

◆ writeHeader()

void H5PartWrapperForPT::writeHeader ( )
virtual

Write file dump frequency.

Write global phase change

Implements H5PartWrapper.

Definition at line 208 of file H5PartWrapperForPT.cpp.

References Options::ebDump, H5PartWrapper::file_m, Util::getGitRevision(), OpalData::getGlobalPhaseShift(), OpalData::getInstance(), Options::psDumpFreq, Options::rhoDump, WRITEFILEATTRIB, and WRITESTRINGFILEATTRIB.

Here is the call graph for this function:

◆ writeStep()

void H5PartWrapperForPT::writeStep ( PartBunchBase< double, 3 > * bunch,
const std::map< std::string, double > & additionalStepAttributes )
virtual

Implements H5PartWrapper.

Definition at line 291 of file H5PartWrapperForPT.cpp.

References PartBunchBase< T, Dim >::calcBeamParameters(), H5PartWrapper::close(), PartBunchBase< T, Dim >::getTotalNum(), H5PartWrapper::open(), writeStepData(), and writeStepHeader().

Here is the call graph for this function:

◆ writeStepData()

void H5PartWrapperForPT::writeStepData ( PartBunchBase< double, 3 > * bunch)
private

◆ writeStepHeader()

void H5PartWrapperForPT::writeStepHeader ( PartBunchBase< double, 3 > * bunch,
const std::map< std::string, double > & additionalStepAttributes )
private

Member Data Documentation

◆ copyFilePrefix_m

std::string H5PartWrapper::copyFilePrefix_m = ".copy"
staticprotectedinherited

Definition at line 79 of file H5PartWrapper.h.

Referenced by copyFile().

◆ file_m

◆ fileName_m

std::string H5PartWrapper::fileName_m
protectedinherited

Definition at line 74 of file H5PartWrapper.h.

Referenced by copyFile(), copyFileSystem(), H5PartWrapper(), H5PartWrapper(), and open().

◆ numSteps_m

◆ predecessorOPALFlavour_m

◆ startedFromExistingFile_m

bool H5PartWrapper::startedFromExistingFile_m
protectedinherited

Definition at line 77 of file H5PartWrapper.h.

Referenced by H5PartWrapper(), and H5PartWrapper().


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