Project

General

Profile

genToArt

The genToArt program is a tool to enable the testing of FragmentGenerator implementations without the complication of the multi-exec MPI application, passing their output to a thread running an invocation of art.

genToArt accepts the same command-line arguments as the art application, most of which are passed unread to the art application thread. The -c/--config option is interpreted however, and some FHiCL parameters are used to influence the non-art behavior of the program.

An example invocation of genToArt to test the V172FileReader generator might be configured as follows:

genToArt: // Parameter set encapsulating non-art configuration.
{
  run_number: 10
  events_to_generate: 5

  // Parameters specifying and controlling fragment generators.
  fragment_receiver:
  {
    generators: [ gen ] // Sequence of one or more parameter set names.
    gen: // A parameter set referred to in generators sequence.
    {
      generator: V172xFileReader // Generator class.
      fileNames: [ "V1720_sample.dat" ]
      fragment_ids: [ 0 ]  // IDs of fragments to generate.
      primary_type: V1720
      secondary_types: [ ] // Put derivative fragment types here, eg V1724.
      size_in_words: false // In bytes, contrary to spec.
    }
  }

  // Parameters controlling fragment collation and transport to art.
  event_builder:
  {
    queue_size: 20
    timeout: 5.0
    print_stats: false
  }
}

// Parameters controlling art.

process_name: TEST

source:
{
  module_type: RawInput // Read via transport from generators.
  waiting_time: 25.0 // Timeout between events (s).
}

Once the fragments have been read in by the RawInput source, other art modules may be invoked to read and process those fragments.