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

#include <H5PartWrapperForPS.h>

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

Public Member Functions

 H5PartWrapperForPS (const std::string &fileName, h5_int32_t flags=H5_O_WRONLY)
 
 H5PartWrapperForPS (const std::string &fileName, int restartStep, std::string sourceFile, h5_int32_t flags=H5_O_RDWR)
 
virtual ~H5PartWrapperForPS ()
 
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 stashPhaseSpaceEnvelope (EnvelopeBunch &bunch, Vector_t FDext[], double sposHead, double sposRef, double sposTail)
 
void dumpStashedPhaseSpaceEnvelope ()
 
- Public Member Functions inherited from H5PartWrapper
virtual ~H5PartWrapper ()
 
void close ()
 
double getLastPosition ()
 
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

std::vector< Vektor
< h5_float64_t, 3 > > 
stash_RefPartR
 
std::vector< Vektor
< h5_float64_t, 3 > > 
stash_RefPartP
 
std::vector< Vektor
< h5_float64_t, 3 > > 
stash_centroid
 
std::vector< Vektor
< h5_float64_t, 3 > > 
stash_geomvareps
 
std::vector< Vektor
< h5_float64_t, 3 > > 
stash_xsigma
 
std::vector< Vektor
< h5_float64_t, 3 > > 
stash_psigma
 
std::vector< Vektor
< h5_float64_t, 3 > > 
stash_vareps
 
std::vector< Vektor
< h5_float64_t, 3 > > 
stash_rmin
 
std::vector< Vektor
< h5_float64_t, 3 > > 
stash_rmax
 
std::vector< Vektor
< h5_float64_t, 3 > > 
stash_maxP
 
std::vector< Vektor
< h5_float64_t, 3 > > 
stash_minP
 
std::vector< Vektor
< h5_float64_t, 3 > > 
stash_Bhead
 
std::vector< Vektor
< h5_float64_t, 3 > > 
stash_Ehead
 
std::vector< Vektor
< h5_float64_t, 3 > > 
stash_Bref
 
std::vector< Vektor
< h5_float64_t, 3 > > 
stash_Eref
 
std::vector< Vektor
< h5_float64_t, 3 > > 
stash_Btail
 
std::vector< Vektor
< h5_float64_t, 3 > > 
stash_Etail
 
std::vector< h5_float64_t > stash_actPos
 
std::vector< h5_float64_t > stash_t
 
std::vector< h5_float64_t > stash_meanEnergy
 
std::vector< h5_float64_t > stash_mass
 
std::vector< h5_float64_t > stash_charge
 
std::vector< h5_float64_t > stash_sposHead
 
std::vector< h5_float64_t > stash_sposRef
 
std::vector< h5_float64_t > stash_sposTail
 
std::vector< size_t > stash_nLoc
 
std::vector< size_t > stash_nTot
 

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

Definition at line 21 of file H5PartWrapperForPS.h.

Constructor & Destructor Documentation

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

Definition at line 19 of file H5PartWrapperForPS.cpp.

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

Definition at line 23 of file H5PartWrapperForPS.cpp.

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

Here is the call graph for this function:

H5PartWrapperForPS::~H5PartWrapperForPS ( )
virtual

Definition at line 32 of file H5PartWrapperForPS.cpp.

Member Function Documentation

void H5PartWrapperForPS::dumpStashedPhaseSpaceEnvelope ( )

Set current record/time step.

Write statistical data.

Write particle mass and charge per particle. (Consider making these file attributes.)

Write normalized emittance.

Write geometric emittance.

Write bunch phase space.

Definition at line 468 of file H5PartWrapperForPS.cpp.

References H5PartWrapper::file_m, H5PartWrapper::numSteps_m, REPORTONERROR, stash_actPos, stash_Bhead, stash_Bref, stash_Btail, stash_centroid, stash_charge, stash_Ehead, stash_Eref, stash_Etail, stash_geomvareps, stash_mass, stash_maxP, stash_meanEnergy, stash_minP, stash_nLoc, stash_psigma, stash_RefPartP, stash_RefPartR, stash_rmax, stash_rmin, stash_sposHead, stash_sposRef, stash_sposTail, stash_t, stash_vareps, stash_xsigma, WRITEDATA, and WRITESTEPATTRIB.

bool H5PartWrapperForPS::predecessorIsSameFlavour ( ) const
inlinevirtual

Implements H5PartWrapper.

Definition at line 79 of file H5PartWrapperForPS.h.

References H5PartWrapper::predecessorOPALFlavour_m.

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

Implements H5PartWrapper.

Definition at line 89 of file H5PartWrapperForPS.cpp.

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

Here is the call graph for this function:

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

Definition at line 98 of file H5PartWrapperForPS.cpp.

References H5PartWrapper::file_m, READSTEPATTRIB, and PartBunchBase< T, Dim >::setT().

Referenced by readStep().

Here is the call graph for this function:

void H5PartWrapperForPS::stashPhaseSpaceEnvelope ( EnvelopeBunch bunch,
Vector_t  FDext[],
double  sposHead,
double  sposRef,
double  sposTail 
)
void H5PartWrapperForPS::writeHeader ( )
virtual

Write file dump frequency.

Write global phase change

Implements H5PartWrapper.

Definition at line 173 of file H5PartWrapperForPS.cpp.

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

Here is the call graph for this function:

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

Implements H5PartWrapper.

Definition at line 228 of file H5PartWrapperForPS.cpp.

References H5PartWrapper::close(), H5PartWrapper::open(), writeStepData(), and writeStepHeader().

Here is the call graph for this function:

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

Member Data Documentation

std::vector< h5_float64_t > H5PartWrapperForPS::stash_actPos
private

Definition at line 66 of file H5PartWrapperForPS.h.

Referenced by dumpStashedPhaseSpaceEnvelope(), and stashPhaseSpaceEnvelope().

std::vector< Vektor<h5_float64_t, 3> > H5PartWrapperForPS::stash_Bhead
private

Definition at line 60 of file H5PartWrapperForPS.h.

Referenced by dumpStashedPhaseSpaceEnvelope(), and stashPhaseSpaceEnvelope().

std::vector< Vektor<h5_float64_t, 3> > H5PartWrapperForPS::stash_Bref
private

Definition at line 62 of file H5PartWrapperForPS.h.

Referenced by dumpStashedPhaseSpaceEnvelope(), and stashPhaseSpaceEnvelope().

std::vector< Vektor<h5_float64_t, 3> > H5PartWrapperForPS::stash_Btail
private

Definition at line 64 of file H5PartWrapperForPS.h.

Referenced by dumpStashedPhaseSpaceEnvelope(), and stashPhaseSpaceEnvelope().

std::vector< Vektor<h5_float64_t, 3> > H5PartWrapperForPS::stash_centroid
private

Definition at line 51 of file H5PartWrapperForPS.h.

Referenced by dumpStashedPhaseSpaceEnvelope(), and stashPhaseSpaceEnvelope().

std::vector< h5_float64_t > H5PartWrapperForPS::stash_charge
private

Definition at line 70 of file H5PartWrapperForPS.h.

Referenced by dumpStashedPhaseSpaceEnvelope(), and stashPhaseSpaceEnvelope().

std::vector< Vektor<h5_float64_t, 3> > H5PartWrapperForPS::stash_Ehead
private

Definition at line 61 of file H5PartWrapperForPS.h.

Referenced by dumpStashedPhaseSpaceEnvelope(), and stashPhaseSpaceEnvelope().

std::vector< Vektor<h5_float64_t, 3> > H5PartWrapperForPS::stash_Eref
private

Definition at line 63 of file H5PartWrapperForPS.h.

Referenced by dumpStashedPhaseSpaceEnvelope(), and stashPhaseSpaceEnvelope().

std::vector< Vektor<h5_float64_t, 3> > H5PartWrapperForPS::stash_Etail
private

Definition at line 65 of file H5PartWrapperForPS.h.

Referenced by dumpStashedPhaseSpaceEnvelope(), and stashPhaseSpaceEnvelope().

std::vector< Vektor<h5_float64_t, 3> > H5PartWrapperForPS::stash_geomvareps
private

Definition at line 52 of file H5PartWrapperForPS.h.

Referenced by dumpStashedPhaseSpaceEnvelope(), and stashPhaseSpaceEnvelope().

std::vector< h5_float64_t > H5PartWrapperForPS::stash_mass
private

Definition at line 69 of file H5PartWrapperForPS.h.

Referenced by dumpStashedPhaseSpaceEnvelope(), and stashPhaseSpaceEnvelope().

std::vector< Vektor<h5_float64_t, 3> > H5PartWrapperForPS::stash_maxP
private

Definition at line 58 of file H5PartWrapperForPS.h.

Referenced by dumpStashedPhaseSpaceEnvelope(), and stashPhaseSpaceEnvelope().

std::vector< h5_float64_t > H5PartWrapperForPS::stash_meanEnergy
private

Definition at line 68 of file H5PartWrapperForPS.h.

Referenced by dumpStashedPhaseSpaceEnvelope(), and stashPhaseSpaceEnvelope().

std::vector< Vektor<h5_float64_t, 3> > H5PartWrapperForPS::stash_minP
private

Definition at line 59 of file H5PartWrapperForPS.h.

Referenced by dumpStashedPhaseSpaceEnvelope(), and stashPhaseSpaceEnvelope().

std::vector< size_t > H5PartWrapperForPS::stash_nLoc
private

Definition at line 74 of file H5PartWrapperForPS.h.

Referenced by dumpStashedPhaseSpaceEnvelope(), and stashPhaseSpaceEnvelope().

std::vector< size_t > H5PartWrapperForPS::stash_nTot
private

Definition at line 75 of file H5PartWrapperForPS.h.

Referenced by stashPhaseSpaceEnvelope().

std::vector< Vektor<h5_float64_t, 3> > H5PartWrapperForPS::stash_psigma
private

Definition at line 54 of file H5PartWrapperForPS.h.

Referenced by dumpStashedPhaseSpaceEnvelope(), and stashPhaseSpaceEnvelope().

std::vector< Vektor<h5_float64_t, 3> > H5PartWrapperForPS::stash_RefPartP
private

Definition at line 50 of file H5PartWrapperForPS.h.

Referenced by dumpStashedPhaseSpaceEnvelope(), and stashPhaseSpaceEnvelope().

std::vector< Vektor<h5_float64_t, 3> > H5PartWrapperForPS::stash_RefPartR
private

Definition at line 49 of file H5PartWrapperForPS.h.

Referenced by dumpStashedPhaseSpaceEnvelope(), and stashPhaseSpaceEnvelope().

std::vector< Vektor<h5_float64_t, 3> > H5PartWrapperForPS::stash_rmax
private

Definition at line 57 of file H5PartWrapperForPS.h.

Referenced by dumpStashedPhaseSpaceEnvelope(), and stashPhaseSpaceEnvelope().

std::vector< Vektor<h5_float64_t, 3> > H5PartWrapperForPS::stash_rmin
private

Definition at line 56 of file H5PartWrapperForPS.h.

Referenced by dumpStashedPhaseSpaceEnvelope(), and stashPhaseSpaceEnvelope().

std::vector< h5_float64_t > H5PartWrapperForPS::stash_sposHead
private

Definition at line 71 of file H5PartWrapperForPS.h.

Referenced by dumpStashedPhaseSpaceEnvelope(), and stashPhaseSpaceEnvelope().

std::vector< h5_float64_t > H5PartWrapperForPS::stash_sposRef
private

Definition at line 72 of file H5PartWrapperForPS.h.

Referenced by dumpStashedPhaseSpaceEnvelope(), and stashPhaseSpaceEnvelope().

std::vector< h5_float64_t > H5PartWrapperForPS::stash_sposTail
private

Definition at line 73 of file H5PartWrapperForPS.h.

Referenced by dumpStashedPhaseSpaceEnvelope(), and stashPhaseSpaceEnvelope().

std::vector< h5_float64_t > H5PartWrapperForPS::stash_t
private

Definition at line 67 of file H5PartWrapperForPS.h.

Referenced by dumpStashedPhaseSpaceEnvelope(), and stashPhaseSpaceEnvelope().

std::vector< Vektor<h5_float64_t, 3> > H5PartWrapperForPS::stash_vareps
private

Definition at line 55 of file H5PartWrapperForPS.h.

Referenced by dumpStashedPhaseSpaceEnvelope(), and stashPhaseSpaceEnvelope().

std::vector< Vektor<h5_float64_t, 3> > H5PartWrapperForPS::stash_xsigma
private

Definition at line 53 of file H5PartWrapperForPS.h.

Referenced by dumpStashedPhaseSpaceEnvelope(), and stashPhaseSpaceEnvelope().


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