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

#include <H5Writer.h>

Collaboration diagram for H5Writer:
Collaboration graph
[legend]

Public Member Functions

 H5Writer (H5PartWrapper *h5wrapper, bool restart)
 
void close ()
 
void changeH5Wrapper (H5PartWrapper *h5wrapper)
 
void storeCavityInformation ()
 
double getLastPosition ()
 
void writePhaseSpace (PartBunchBase< double, 3 > *beam, Vector_t FDext[])
 Dumps Phase Space to H5 file. More...
 
int writePhaseSpace (PartBunchBase< double, 3 > *beam, Vector_t FDext[], double E, double refPr, double refPt, double refPz, double refR, double refTheta, double refZ, double azimuth, double elevation, bool local)
 Dumps phase space to H5 file in OPAL cyclotron calculation. More...
 

Private Attributes

IpplTimings::TimerRef H5PartTimer_m
 Timer to track particle data/H5 file write time. More...
 
H5PartWrapperh5wrapper_m
 
int H5call_m
 Current record, or time step, of H5 file. More...
 

Detailed Description

Definition at line 25 of file H5Writer.h.

Constructor & Destructor Documentation

◆ H5Writer()

H5Writer::H5Writer ( H5PartWrapper h5wrapper,
bool  restart 
)

Definition at line 20 of file H5Writer.cpp.

References H5PartWrapper::close(), and H5PartWrapper::writeHeader().

Here is the call graph for this function:

Member Function Documentation

◆ changeH5Wrapper()

void H5Writer::changeH5Wrapper ( H5PartWrapper h5wrapper)
inline

Definition at line 91 of file H5Writer.h.

References h5wrapper_m.

◆ close()

void H5Writer::close ( )
inline

Definition at line 85 of file H5Writer.h.

References H5PartWrapper::close(), and h5wrapper_m.

Here is the call graph for this function:

◆ getLastPosition()

double H5Writer::getLastPosition ( )
inline

Definition at line 103 of file H5Writer.h.

References H5PartWrapper::getLastPosition(), and h5wrapper_m.

Here is the call graph for this function:

◆ storeCavityInformation()

void H5Writer::storeCavityInformation ( )
inline

Definition at line 97 of file H5Writer.h.

References h5wrapper_m, and H5PartWrapper::storeCavityInformation().

Here is the call graph for this function:

◆ writePhaseSpace() [1/2]

void H5Writer::writePhaseSpace ( PartBunchBase< double, 3 > *  beam,
Vector_t  FDext[] 
)

Dumps Phase Space to H5 file.

Parameters
beamThe beam.
FDextThe external E and B field for the head, reference and tail particles. The vector array has the following layout:
  • FDext[0] = B at head particle location (in x, y and z).
  • FDext[1] = E at head particle location (in x, y and z).
  • FDext[2] = B at reference particle location (in x, y and z).
  • FDext[3] = E at reference particle location (in x, y and z).
  • FDext[4] = B at tail particle location (in x, y, and z).
  • FDext[5] = E at tail particle location (in x, y, and z).

Definition at line 32 of file H5Writer.cpp.

References H5PartTimer_m, h5wrapper_m, IpplTimings::startTimer(), IpplTimings::stopTimer(), and H5PartWrapper::writeStep().

Here is the call graph for this function:

◆ writePhaseSpace() [2/2]

int H5Writer::writePhaseSpace ( PartBunchBase< double, 3 > *  beam,
Vector_t  FDext[],
double  E,
double  refPr,
double  refPt,
double  refPz,
double  refR,
double  refTheta,
double  refZ,
double  azimuth,
double  elevation,
bool  local 
)

Dumps phase space to H5 file in OPAL cyclotron calculation.

Parameters
beamThe beam.
FDextThe external E and B field for the head, reference and tail particles. The vector array has the following layout:
  • FDext[0] = B at head particle location (in x, y and z).
  • FDext[1] = E at head particle location (in x, y and z).
  • FDext[2] = B at reference particle location (in x, y and z).
  • FDext[3] = E at reference particle location (in x, y and z).
  • FDext[4] = B at tail particle location (in x, y, and z).
  • FDext[5] = E at tail particle location (in x, y, and z).
Eaverage energy (MeB)
Returns
Returns the number of the time step just written.

Definition at line 47 of file H5Writer.cpp.

References PartBunchBase< T, Dim >::getTotalNum(), H5call_m, H5PartTimer_m, h5wrapper_m, IpplTimings::startTimer(), IpplTimings::stopTimer(), and H5PartWrapper::writeStep().

Here is the call graph for this function:

Member Data Documentation

◆ H5call_m

int H5Writer::H5call_m
private

Current record, or time step, of H5 file.

Definition at line 80 of file H5Writer.h.

Referenced by writePhaseSpace().

◆ H5PartTimer_m

IpplTimings::TimerRef H5Writer::H5PartTimer_m
private

Timer to track particle data/H5 file write time.

Definition at line 75 of file H5Writer.h.

Referenced by writePhaseSpace().

◆ h5wrapper_m

H5PartWrapper* H5Writer::h5wrapper_m
private

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