@@ -200,30 +200,16 @@ bool Stage1ParallelEventVisitor::leave_telescope_run(
200
200
start_time = std::max (start_time-30 , int64_t (0 ));
201
201
end_time = end_time+30 ;
202
202
203
- std::string db_filename = config_. ancillary_database () ;
203
+ std::string db_filename;
204
204
205
205
switch (run_config_->camera_layout ().camera_type ()) {
206
206
case calin::ix::iact_data::instrument_layout::CameraLayout::NECTARCAM:
207
207
case calin::ix::iact_data::instrument_layout::CameraLayout::NECTARCAM_TESTBENCH_19CHANNEL:
208
208
case calin::ix::iact_data::instrument_layout::CameraLayout::NECTARCAM_TESTBENCH_61CHANNEL:
209
- if (db_filename.empty ()) {
210
- db_filename = calin::util::file::dirname (run_config_->filename ());
211
- std::string utdate = calin::util::file::basename (db_filename);
212
- db_filename += " /nectarcam_monitoring_db_" ;
213
- if (utdate.size () == 8 ) {
214
- db_filename += utdate.substr (0 ,4 );
215
- db_filename += " -" ;
216
- db_filename += utdate.substr (4 ,2 );
217
- db_filename += " -" ;
218
- db_filename += utdate.substr (6 ,2 );
219
- } else {
220
- db_filename += calin::util::timestamp::
221
- Timestamp (run_config_->run_start_time ().time_ns ()).as_string ().substr (0 ,10 );
222
- }
223
- db_filename += " .sqlite" ;
224
- }
225
- if (calin::util::file::is_file (db_filename))
226
- {
209
+ db_filename = nectarcam_ancillary_database_filename (run_config_->filename (),
210
+ run_config_->run_start_time ().time_ns (), config_.ancillary_database (),
211
+ config_.ancillary_database_directory ());
212
+ if (calin::util::file::is_file (db_filename)) {
227
213
nectarcam_ancillary_data_ =
228
214
calin::iact_data::nectarcam_ancillary_data::
229
215
retrieve_nectarcam_ancillary_data (db_filename, run_config_->telescope_id (),
@@ -242,6 +228,33 @@ bool Stage1ParallelEventVisitor::leave_telescope_run(
242
228
return good;
243
229
}
244
230
231
+ std::string Stage1ParallelEventVisitor::
232
+ nectarcam_ancillary_database_filename (const std::string run_filename, uint64_t run_start_time_ns,
233
+ const std::string forced_filename, const std::string forced_directory)
234
+ {
235
+ std::string db_filename = forced_filename;
236
+ if (db_filename.empty ()) {
237
+ db_filename = forced_directory;
238
+ if (db_filename.empty ()) {
239
+ db_filename = calin::util::file::dirname (run_filename);
240
+ }
241
+ std::string utdate = calin::util::file::basename (calin::util::file::dirname (run_filename));
242
+ db_filename += " /nectarcam_monitoring_db_" ;
243
+ if (utdate.size () == 8 ) {
244
+ db_filename += utdate.substr (0 ,4 );
245
+ db_filename += " -" ;
246
+ db_filename += utdate.substr (4 ,2 );
247
+ db_filename += " -" ;
248
+ db_filename += utdate.substr (6 ,2 );
249
+ } else {
250
+ db_filename += calin::util::timestamp::
251
+ Timestamp (run_start_time_ns).as_string ().substr (0 ,10 );
252
+ }
253
+ db_filename += " .sqlite" ;
254
+ }
255
+ return db_filename;
256
+ }
257
+
245
258
calin::ix::diagnostics::stage1::Stage1* Stage1ParallelEventVisitor::stage1_results (
246
259
calin::ix::diagnostics::stage1::Stage1* stage1) const
247
260
{
0 commit comments