1 #ifndef OPAL_H5PARTWRAPPER_H 
    2 #define OPAL_H5PARTWRAPPER_H 
   12 template <
class T, 
unsigned Dim>
 
   22 #define REPORTONERROR(rc) H5PartWrapper::reportOnError(rc, __FILE__, __LINE__) 
   23 #define READFILEATTRIB(type, file, name, value) REPORTONERROR(H5ReadFileAttrib##type(file, name, value)); 
   24 #define WRITESTRINGFILEATTRIB(file, name, value) REPORTONERROR(H5WriteFileAttribString(file, name, value)); 
   25 #define WRITEFILEATTRIB(type, file, name, value, length) REPORTONERROR(H5WriteFileAttrib##type(file, name, value, length)); 
   27 #define READSTEPATTRIB(type, file, name, value) REPORTONERROR(H5ReadStepAttrib##type(file, name, value)); 
   28 #define WRITESTRINGSTEPATTRIB(file, name, value) REPORTONERROR(H5WriteStepAttribString(file, name, value)); 
   29 #define WRITESTEPATTRIB(type, file, name, value, length) REPORTONERROR(H5WriteStepAttrib##type(file, name, value, length)); 
   31 #define READDATA(type, file, name, value) REPORTONERROR(H5PartReadData##type(file, name, value)); 
   32 #define WRITEDATA(type, file, name, value) REPORTONERROR(H5PartWriteData##type(file, name, value)); 
   53     H5PartWrapper(
const std::string &fileName, h5_int32_t flags = H5_O_WRONLY);
 
   54     H5PartWrapper(
const std::string &fileName, 
int restartStep, std::string sourceFile, h5_int32_t flags = H5_O_RDWR);
 
   56     void open(h5_int32_t flags);
 
   58     void copyFile(
const std::string &sourceFile, 
int lastStep = -1, h5_int32_t flags = H5_O_WRONLY);
 
   61     void copyStep(h5_file_t source, 
int step);
 
   65                             const std::string &
where,
 
   66                             const std::string &what);
 
   68                                const std::string &
where,
 
   69                                const std::string &what);
 
   71     static void reportOnError(h5_int64_t rc, 
const char* file, 
int line);
 
   85         ERRORMSG(
"H5 rc= " << rc << 
" in " << file << 
" @ line " << line << 
endl);
 
   92     h5_ssize_t numStepsInSource = H5GetNumSteps(
file_m);
 
   93     h5_ssize_t 
readStep = numStepsInSource - 1;
 
   96     h5_float64_t pathLength;
 
#define REPORTONERROR(rc)
#define READSTEPATTRIB(type, file, name, value)
PETE_TTTree< OpWhere, typename Cond_t::PETE_Expr_t, typename True_t::PETE_Expr_t, PETE_Scalar< Vektor< T, Dim > > > where(const PETE_Expr< Cond_t > &c, const PETE_Expr< True_t > &t, const Vektor< T, Dim > &f)
Inform & endl(Inform &inf)
bool startedFromExistingFile_m
virtual void writeStep(PartBunchBase< double, 3 > *, const std::map< std::string, double > &)=0
size_t getNumParticles() const
virtual void readStep(PartBunchBase< double, 3 > *, h5_ssize_t firstParticle, h5_ssize_t lastParticle)=0
void receiveFailureMessage(int sourceNode, const std::string &where, const std::string &what)
virtual bool predecessorIsSameFlavour() const =0
void copyStepData(h5_file_t source)
void copyFile(const std::string &sourceFile, int lastStep=-1, h5_int32_t flags=H5_O_WRONLY)
void open(h5_int32_t flags)
virtual void readHeader()=0
void copyFileSystem(const std::string &sourceFile)
H5PartWrapper(const std::string &fileName, h5_int32_t flags=H5_O_WRONLY)
void copyHeader(h5_file_t source)
std::string predecessorOPALFlavour_m
void storeCavityInformation()
virtual void writeHeader()=0
void copyStepHeader(h5_file_t source)
void copyStep(h5_file_t source, int step)
static std::string copyFilePrefix_m
void sendFailureMessage(bool failed, const std::string &where, const std::string &what)
static void reportOnError(h5_int64_t rc, const char *file, int line)