OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
Public Member Functions | Private Member Functions | Private Attributes | List of all members
H5PartWrapperForPC Class Reference

#include <H5PartWrapperForPC.h>

Inheritance diagram for H5PartWrapperForPC:
Inheritance graph
[legend]
Collaboration diagram for H5PartWrapperForPC:
Collaboration graph
[legend]

Public Member Functions

 H5PartWrapperForPC (const std::string &fileName, h5_int32_t flags=H5_O_WRONLY)
 
 H5PartWrapperForPC (const std::string &fileName, int restartStep, std::string sourceFile, h5_int32_t flags=H5_O_RDWR)
 
virtual ~H5PartWrapperForPC ()
 
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
 
bool getPreviousH5Local () const
 
double getReferenceR () const
 
double getReferenceT () const
 
double getReferenceZ () const
 
double getReferencePr () const
 
double getReferencePt () const
 
double getReferencePz () const
 
double getMeanKineticEnergy () const
 
double getMeanMomentum () const
 
double getAzimuth () const
 
double getElevation () const
 
- Public Member Functions inherited from H5PartWrapper
virtual ~H5PartWrapper ()
 
void close ()
 
double getLastPosition ()
 
virtual void readHeader ()=0
 
virtual void readStep (PartBunchBase< double, 3 > *, h5_ssize_t firstParticle, h5_ssize_t lastParticle)=0
 
virtual void writeHeader ()=0
 
virtual void writeStep (PartBunchBase< double, 3 > *, const std::map< std::string, double > &)=0
 
virtual bool predecessorIsSameFlavour () const =0
 
void storeCavityInformation ()
 
size_t getNumParticles () const
 

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 > *)
 

Private Attributes

bool previousH5Local_m
 
Vector_t referenceMomentum_m
 
Vector_t referenceLocation_m
 
h5_float64_t meanE_m
 
h5_float64_t meanMomentum_m
 
h5_float64_t azimuth_m
 
h5_float64_t elevation_m
 

Additional Inherited Members

- Protected Member Functions inherited from H5PartWrapper
 H5PartWrapper (const std::string &fileName, h5_int32_t flags=H5_O_WRONLY)
 
 H5PartWrapper (const std::string &fileName, int restartStep, std::string sourceFile, h5_int32_t flags=H5_O_RDWR)
 
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 inherited from H5PartWrapper
static void reportOnError (h5_int64_t rc, const char *file, int line)
 
- Protected Attributes inherited from H5PartWrapper
h5_file_t file_m
 
std::string fileName_m
 
std::string predecessorOPALFlavour_m
 
h5_int64_t numSteps_m
 
bool startedFromExistingFile_m
 
- Static Protected Attributes inherited from H5PartWrapper
static std::string copyFilePrefix_m = ".copy"
 

Detailed Description

H5PartWrapperForPC: a class that manages calls to H5Part for the cyclotron tracker

Definition at line 14 of file H5PartWrapperForPC.h.

Constructor & Destructor Documentation

◆ H5PartWrapperForPC() [1/2]

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

Definition at line 18 of file H5PartWrapperForPC.cpp.

◆ H5PartWrapperForPC() [2/2]

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

Definition at line 29 of file H5PartWrapperForPC.cpp.

◆ ~H5PartWrapperForPC()

H5PartWrapperForPC::~H5PartWrapperForPC ( )
virtual

Definition at line 43 of file H5PartWrapperForPC.cpp.

Member Function Documentation

◆ getAzimuth()

double H5PartWrapperForPC::getAzimuth ( ) const
inline

Definition at line 106 of file H5PartWrapperForPC.h.

References azimuth_m.

Referenced by TrackRun::setupCyclotronTracker().

◆ getElevation()

double H5PartWrapperForPC::getElevation ( ) const
inline

Definition at line 111 of file H5PartWrapperForPC.h.

References elevation_m.

Referenced by TrackRun::setupCyclotronTracker().

◆ getMeanKineticEnergy()

double H5PartWrapperForPC::getMeanKineticEnergy ( ) const
inline

Definition at line 96 of file H5PartWrapperForPC.h.

References meanE_m.

◆ getMeanMomentum()

double H5PartWrapperForPC::getMeanMomentum ( ) const
inline

Definition at line 101 of file H5PartWrapperForPC.h.

References meanMomentum_m.

Referenced by TrackRun::setupCyclotronTracker().

◆ getPreviousH5Local()

bool H5PartWrapperForPC::getPreviousH5Local ( ) const
inline

Definition at line 61 of file H5PartWrapperForPC.h.

References previousH5Local_m.

Referenced by TrackRun::setupCyclotronTracker().

◆ getReferencePr()

double H5PartWrapperForPC::getReferencePr ( ) const
inline

Definition at line 81 of file H5PartWrapperForPC.h.

References referenceMomentum_m.

Referenced by TrackRun::setupCyclotronTracker().

◆ getReferencePt()

double H5PartWrapperForPC::getReferencePt ( ) const
inline

Definition at line 86 of file H5PartWrapperForPC.h.

References referenceMomentum_m.

Referenced by TrackRun::setupCyclotronTracker().

◆ getReferencePz()

double H5PartWrapperForPC::getReferencePz ( ) const
inline

Definition at line 91 of file H5PartWrapperForPC.h.

References referenceMomentum_m.

Referenced by TrackRun::setupCyclotronTracker().

◆ getReferenceR()

double H5PartWrapperForPC::getReferenceR ( ) const
inline

Definition at line 66 of file H5PartWrapperForPC.h.

References referenceLocation_m.

Referenced by TrackRun::setupCyclotronTracker().

◆ getReferenceT()

double H5PartWrapperForPC::getReferenceT ( ) const
inline

Definition at line 71 of file H5PartWrapperForPC.h.

References referenceLocation_m.

Referenced by TrackRun::setupCyclotronTracker().

◆ getReferenceZ()

double H5PartWrapperForPC::getReferenceZ ( ) const
inline

Definition at line 76 of file H5PartWrapperForPC.h.

References referenceLocation_m.

Referenced by TrackRun::setupCyclotronTracker().

◆ predecessorIsSameFlavour()

bool H5PartWrapperForPC::predecessorIsSameFlavour ( ) const
inlinevirtual

Implements H5PartWrapper.

Definition at line 56 of file H5PartWrapperForPC.h.

References H5PartWrapper::predecessorOPALFlavour_m.

◆ readHeader()

void H5PartWrapperForPC::readHeader ( )
virtual

◆ readStep()

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

Implements H5PartWrapper.

Definition at line 73 of file H5PartWrapperForPC.cpp.

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

Referenced by MultiBunchHandler::readBunch(), and readStep().

Here is the call graph for this function:

◆ readStepData()

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

◆ readStepHeader()

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

◆ writeHeader()

void H5PartWrapperForPC::writeHeader ( )
virtual

Write file dump frequency.

Implements H5PartWrapper.

Definition at line 225 of file H5PartWrapperForPC.cpp.

References Options::ebDump, H5PartWrapper::file_m, Util::getGitRevision(), OPAL_PROJECT_NAME, OPAL_PROJECT_VERSION, Options::psDumpFreq, WRITEFILEATTRIB, and WRITESTRINGFILEATTRIB.

Referenced by MultiBunchHandler::saveBunch().

Here is the call graph for this function:

◆ writeStep()

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

◆ writeStepData()

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

◆ writeStepHeader()

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

Member Data Documentation

◆ azimuth_m

h5_float64_t H5PartWrapperForPC::azimuth_m
private

Definition at line 51 of file H5PartWrapperForPC.h.

Referenced by getAzimuth(), and readStepHeader().

◆ elevation_m

h5_float64_t H5PartWrapperForPC::elevation_m
private

Definition at line 52 of file H5PartWrapperForPC.h.

Referenced by getElevation(), and readStepHeader().

◆ meanE_m

h5_float64_t H5PartWrapperForPC::meanE_m
private

Definition at line 49 of file H5PartWrapperForPC.h.

Referenced by getMeanKineticEnergy(), and readStepHeader().

◆ meanMomentum_m

h5_float64_t H5PartWrapperForPC::meanMomentum_m
private

Definition at line 50 of file H5PartWrapperForPC.h.

Referenced by getMeanMomentum(), and readStepHeader().

◆ previousH5Local_m

bool H5PartWrapperForPC::previousH5Local_m
private

Definition at line 46 of file H5PartWrapperForPC.h.

Referenced by getPreviousH5Local(), and readStepHeader().

◆ referenceLocation_m

Vector_t H5PartWrapperForPC::referenceLocation_m
private

Definition at line 48 of file H5PartWrapperForPC.h.

Referenced by getReferenceR(), getReferenceT(), getReferenceZ(), and readStepHeader().

◆ referenceMomentum_m

Vector_t H5PartWrapperForPC::referenceMomentum_m
private

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