LArSoft architecture and design

Important concepts in LArSoft design include:

  • Designing in LArSoft – design principles and practices
  • Data Products – the means by which a module can learn the result of other modules.
  • Algorithms – An algorithm is a class, with one or more instances managed by user code, that performs a task or part of it
  • Services – A LArSoft service is a class, with a single instance managed by the framework, that performs an operation
  • V10+ Geometry  | PreV10 Geometry – Simulation/reconstruction knows how to access different geometries, but is not dependent on any specific one.