@@ -153,7 +153,6 @@ void getParameterOverview(const podio::Frame& frame, std::vector<std::tuple<std:
153
153
}
154
154
155
155
void printFrameOverview (const podio::Frame& frame) {
156
-
157
156
fmt::print (" Collections:\n " );
158
157
const auto collNames = frame.getAvailableCollections ();
159
158
@@ -176,6 +175,27 @@ void printFrameOverview(const podio::Frame& frame) {
176
175
printTable (paramRows, {" Name" , " Type" , " Elements" });
177
176
}
178
177
178
+ template <typename ... Args>
179
+ void print_flush (fmt::format_string<Args...> fmtstr, Args&&... args) {
180
+ fmt::print (fmtstr, std::forward<Args>(args)...);
181
+ std::fflush (stdout);
182
+ }
183
+
184
+ void printFrameDetailed (const podio::Frame& frame) {
185
+ fmt::print (" Collections:\n " );
186
+ const auto collNames = frame.getAvailableCollections ();
187
+ for (const auto & name : podio::utils::sortAlphabeticaly (collNames)) {
188
+ const auto coll = frame.get (name);
189
+ print_flush (" {}\n " , name);
190
+ coll->print ();
191
+ print_flush (" \n " );
192
+ }
193
+
194
+ print_flush (" \n Parameters\n :" );
195
+ frame.getParameters ().print ();
196
+ print_flush (" \n " );
197
+ }
198
+
179
199
void printGeneralInfo (const podio::Reader& reader, const std::string& filename) {
180
200
fmt::print (" input file: {}\n " , filename);
181
201
fmt::print (" datamodel model definitions stored in this file: {}\n\n " , reader.getAvailableDatamodels ());
@@ -191,7 +211,7 @@ void printGeneralInfo(const podio::Reader& reader, const std::string& filename)
191
211
void printFrame (const podio::Frame& frame, const std::string& category, size_t iEntry, bool detailed) {
192
212
fmt::print (" {:#^82}\n " , fmt::format (" {}: {} " , category, iEntry));
193
213
if (detailed) {
194
-
214
+ printFrameDetailed (frame);
195
215
} else {
196
216
printFrameOverview (frame);
197
217
}
0 commit comments