Open
Milestone

Requirements Analysis / Code Redesign

The final goal is to move to Design by Contract paradigm.
For TPC detector this would be:

  • libtpc should be library of interfaces and base invariant classes (API for tpc, located in /detectors/tpc/)
  • libtpc then loads libraries with specific implementations, for example libtpcClusterHitFinder located in /detectors/tpc/clusterHitFinder
  • the constraints on the implementations are the tests (which in fact are requirements written in computer language) implemented in Acceptance TDD.

This is modern approach to long term stability & continuous improvement in software engineering.
Perfectly suits for our scientific project.

!!!This is currently of highest priority!!!

  • So far all tasks below are marked with this milestone.
  • Separate into smaller milestones, estimate priority, size, scope.
  • Then assign each task to its corresponding (newly created) milestone and close this one.

LOADER

  • settings
  • geometry

UPPER ABSTRACTION LAYER FOR SIMULATION

UPPER ABSTRACTION LAYER FOR RECONSTRUCTION

  • reconstruction of simulated events
  • reconstruction of real events

GEOMETRY

  • Base class having invariants such as number of rows, sectors etc
  • inherited classes describing multiple geometries, such as aligned

UNIFICATION OF BASIC OBJECTS CLASSES

  • clusters
  • hits
  • digis

FAIRTASK INTERFACES

  • TpcClusterHitFinder
  • Work items 18
  • Merge requests 11
  • Participants 1
  • Labels 7
Loading
Loading
Loading
Loading
83% complete
83%
Start date
No start date
None
Due date
No due date
18
Work items 18 New issue
Open: 3 Closed: 15
11
Merge requests 11
Open: 0 Closed: 1 Merged: 10
0
Releases
None
Reference: nica/mpdroot%"Requirements Analysis / Code Redesign"