OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
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...
 
void writePhaseSpace (EnvelopeBunch &beam, Vector_t FDext[], double sposHead, double sposRef, double sposTail)
 Dumps Phase Space for Envelope trakcer to H5 file. 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 8 of file H5Writer.h.

Constructor & Destructor Documentation

H5Writer::H5Writer ( H5PartWrapper h5wrapper,
bool  restart 
)

Definition at line 3 of file H5Writer.cpp.

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

Here is the call graph for this function:

Member Function Documentation

void H5Writer::changeH5Wrapper ( H5PartWrapper h5wrapper)
inline

Definition at line 95 of file H5Writer.h.

References h5wrapper_m.

void H5Writer::close ( )
inline

Definition at line 89 of file H5Writer.h.

References H5PartWrapper::close(), and h5wrapper_m.

Here is the call graph for this function:

double H5Writer::getLastPosition ( )
inline

Definition at line 107 of file H5Writer.h.

References H5PartWrapper::getLastPosition(), and h5wrapper_m.

Here is the call graph for this function:

void H5Writer::storeCavityInformation ( )
inline

Definition at line 101 of file H5Writer.h.

References h5wrapper_m, and H5PartWrapper::storeCavityInformation().

Here is the call graph for this function:

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 15 of file H5Writer.cpp.

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

Here is the call graph for this function:

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 30 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:

void H5Writer::writePhaseSpace ( EnvelopeBunch beam,
Vector_t  FDext[],
double  sposHead,
double  sposRef,
double  sposTail 
)

Dumps Phase Space for Envelope trakcer to H5 file.

FIXME https://gitlab.psi.ch/OPAL/src/issues/245

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).
sposHeadLongitudinal position of the head particle.
sposRefLongitudinal position of the reference particle.
sposTailLongitudinal position of the tail particles.

Definition at line 74 of file H5Writer.cpp.

References H5PartTimer_m, IpplTimings::startTimer(), and IpplTimings::stopTimer().

Here is the call graph for this function:

Member Data Documentation

int H5Writer::H5call_m
private

Current record, or time step, of H5 file.

Definition at line 84 of file H5Writer.h.

Referenced by writePhaseSpace().

IpplTimings::TimerRef H5Writer::H5PartTimer_m
private

Timer to track particle data/H5 file write time.

Definition at line 79 of file H5Writer.h.

Referenced by writePhaseSpace().

H5PartWrapper* H5Writer::h5wrapper_m
private

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