@@ -88,7 +88,6 @@ class ARCFileReader : public G3Reader {
8888 size_t buffersize=1024 *1024 );
8989
9090private:
91- void StartFile (const std::string &path) override ;
9291 G3FramePtr FillFrame () override ;
9392 void ReadHeader ();
9493
@@ -130,7 +129,6 @@ ARCFileReader::ARCFileReader(const std::string &path, Experiment experiment,
130129 G3Reader(path, n_frames_to_read, timeout, track_filename, buffersize, " .dat" )
131130{
132131 SetExperiment (experiment);
133- ReadHeader ();
134132}
135133
136134ARCFileReader::ARCFileReader (const std::vector<std::string> &filename,
@@ -139,7 +137,6 @@ ARCFileReader::ARCFileReader(const std::vector<std::string> &filename,
139137 G3Reader(filename, n_frames_to_read, timeout, track_filename, buffersize, " .dat" )
140138{
141139 SetExperiment (experiment);
142- ReadHeader ();
143140}
144141
145142
@@ -156,12 +153,6 @@ void ARCFileReader::SetExperiment(Experiment exp)
156153 }
157154}
158155
159- void ARCFileReader::StartFile (const std::string &path)
160- {
161- G3Reader::StartFile (path);
162- ReadHeader ();
163- }
164-
165156void ARCFileReader::ReadHeader ()
166157{
167158 int32_t size, opcode;
@@ -775,6 +766,9 @@ G3FramePtr ARCFileReader::FillFrame()
775766 int32_t size, opcode;
776767 uint8_t *buffer;
777768
769+ if (n_frames_cur_ == 0 )
770+ ReadHeader ();
771+
778772 stream_.read ((char *)&size, sizeof (size));
779773 size = ntohl (size) - 8 ;
780774 stream_.read ((char *)&opcode, sizeof (opcode));
0 commit comments