Project

General

Profile

Bug #10627

Output module template art::ProvenanceDumper now forces the detail class to do parameter set validation

Added by Rob Kutschke over 3 years ago. Updated over 3 years ago.

Status:
Closed
Priority:
Low
Assignee:
-
Category:
Documentation
Target version:
-
Start date:
10/23/2015
Due date:
% Done:

100%

Estimated time:
2.00 h
Spent time:
Occurs In:
Scope:
Internal
Experiment:
Mu2e
SSI Package:
art
Duration:

Description

This might not be a bug but I am not sure how else to file it.

Mu2e has an output module Analyses/src/DataProductDump_module.cc

This module predates the file dumper output module and does similar work; we are keeping it around as an example.

This module is created from an output module template:

namespace mu2e {
  class DataProductDumpDetail;
  typedef art::ProvenanceDumper<DataProductDumpDetail> DataProductDump;
}

class mu2e::DataProductDumpDetail {
  // contents deleted.
};

DEFINE_ART_MODULE(mu2e::DataProductDump);

We jumped from art v1_15_00 to art v1_17_02. In art v1_15_00 the module compiled. In art v1_17_02 we had to add an empty definition of the struct Config in order for the module to compile:

class mu2e::DataProductDumpDetail {
public:
   struct Config {};
   // contents deleted.
};

I think that the reason is that the module template now does checking of its parameter set. I think that this forces the detail class to check it's parameter set. Our detail class does not use any parameters providing a correct Config class is trivial.

This should be better documented. We should also have a discussion among the stakeholders about the desired behaviour in this situation: if a module template uses the parameter set validation do we want to require that the detail class does too? What options are there? In the long run I think that forced validation is good. The question is if we need a different policy for the transition period ( it is also possible that for this very narrow question the transition period is now over ).

History

#1 Updated by Christopher Green over 3 years ago

  • Subject changed from Output module template art::ProvenanceDumper now forces the detail class to do parameter set validatio to Output module template art::ProvenanceDumper now forces the detail class to do parameter set validation
  • Category set to Documentation
  • Status changed from New to Accepted
  • Estimated time set to 2.00 h
  • SSI Package art added
  • SSI Package deleted ()

The behavior and required actions will be documented as requested.

#2 Updated by Kyle Knoepfel over 3 years ago

  • Description updated (diff)

#3 Updated by Kyle Knoepfel over 3 years ago

  • Status changed from Accepted to Resolved
  • % Done changed from 0 to 100

The requested documentation can be found here.

#4 Updated by Kyle Knoepfel over 3 years ago

  • Status changed from Resolved to Closed


Also available in: Atom PDF