OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
H5PartWrapperForPT.h
Go to the documentation of this file.
1 #ifndef OPAL_H5PARTWRAPPERFORPT_H
2 #define OPAL_H5PARTWRAPPERFORPT_H
3 
4 //
5 // Copyright & License: See Copyright.readme in src directory
6 //
7 
13 
14 #include "Algorithms/PBunchDefs.h"
16 
17 #include "H5hut.h"
18 
20 public:
21  H5PartWrapperForPT(const std::string &fileName, h5_int32_t flags = H5_O_WRONLY);
22  H5PartWrapperForPT(const std::string &fileName, int restartStep, std::string sourceFile, h5_int32_t flags = H5_O_RDWR);
23  virtual ~H5PartWrapperForPT();
24 
25  virtual void readHeader();
26  virtual void readStep(PartBunchBase<double, 3>*, h5_ssize_t firstParticle, h5_ssize_t lastParticle);
27 
28  virtual void writeHeader();
29  virtual void writeStep(PartBunchBase<double, 3>*, const std::map<std::string, double> &additionalStepAttributes);
30 
31  virtual bool predecessorIsSameFlavour() const;
32 
33 private:
35  void readStepData(PartBunchBase<double, 3>*, h5_ssize_t, h5_ssize_t);
36 
37  void writeStepHeader(PartBunchBase<double, 3>*, const std::map<std::string, double> &);
39 };
40 
41 inline
43  return (predecessorOPALFlavour_m == "opal-t");
44 }
45 
46 #endif //OPAL_H5PARTWRAPPERFORPT_H
virtual bool predecessorIsSameFlavour() const
virtual void readHeader()
std::string predecessorOPALFlavour_m
Definition: H5PartWrapper.h:71
void readStepData(PartBunchBase< double, 3 > *, h5_ssize_t, h5_ssize_t)
virtual void writeHeader()
H5PartWrapperForPT(const std::string &fileName, h5_int32_t flags=H5_O_WRONLY)
void readStepHeader(PartBunchBase< double, 3 > *)
virtual void readStep(PartBunchBase< double, 3 > *, h5_ssize_t firstParticle, h5_ssize_t lastParticle)
virtual void writeStep(PartBunchBase< double, 3 > *, const std::map< std::string, double > &additionalStepAttributes)
void writeStepData(PartBunchBase< double, 3 > *)
void writeStepHeader(PartBunchBase< double, 3 > *, const std::map< std::string, double > &)