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