4 #include <io/EVAIOException.h>
5 #include <io/VEventFile.h>
6 #include <io/CorsikaUtilities.h>
10 #include <utl/Vector.h>
11 #include <revt/Station.h>
77 const bool optional =
false,
const bool only_if =
true,
const T default_value = T())
82 if (!var_name.empty()) {
83 const std::streampos oldpos =
input_file.tellg();
84 std::string input_var_name;
86 if (input_var_name != var_name) {
89 std::ostringstream msg;
90 msg <<
"Error reading variable name from " <<
filename <<
" file: expected " << var_name
91 <<
" got " << input_var_name <<
" instead.";
103 if (
unit != std::string(
"")) {
104 std::string input_unit;
106 if (input_unit !=
unit) {
107 std::ostringstream msg;
108 msg <<
"Error reading unit for the variable '" << var_name
109 <<
"' from .mgmr file: expected " <<
unit
110 <<
" got " << input_unit <<
" instead.";
virtual void Open(const std::string &filename, const io::Mode filemode=eRead, utl::Branch *const b=nullptr)
std::string primary_particle_str
std::vector< SubfileInfo > sub_file_list
bool ReadShowerData(evt::Event &)
Mode
Available open modes.
void CheckFileReadability(const std::string &filename, const Mode filemode) const
bool ReadSubfileHeader(std::ifstream &)
bool corsika_pancakefile_included
Class representing a document branch.
Status
Return code for seek operation.
bool corsika_longfile_included
Base for exceptions in the EVA reader.
bool CheckFileExtension(const std::string &filename, const std::string &extension) const
std::string version_string
std::string file_extension
void ReadBaseFileQuantities()
double magnetic_field_zenith
void OpenFile(const std::string &filename)
Read EVA simulation output.
T ReadQuantity(const std::string &var_name="", const std::string &unit="", const bool optional=false, const bool only_if=true, const T default_value=T())
virtual Status Read(evt::Event &event)
read current event advance cursor by 1
double magnetic_field_azimuth
bool ReadRadioSimData(evt::Event &)
virtual Status FindEvent(const unsigned int eventId)
seek Event id set cursor there
utl::Vector3D core_position
SubfileInfo(const std::string &fstr, const utl::Vector3D &p, const double b)
unsigned int events_remaining
virtual void Write(const evt::Event &event)
bool ReadSubfileLine(std::ifstream &, double &, double *const)
bool askaryan_effect_included
double gps_time_nanoseconds
virtual io::Status GotoPosition(const unsigned int pos)
goto by position in the file