DANA - PowerPoint PPT Presentation

About This Presentation
Title:

DANA

Description:

Consistency. Single mechanism for database ... New sources and sinks can be added at any time without affecting user code ... Access to auxiliary information ... – PowerPoint PPT presentation

Number of Views:45
Avg rating:3.0/5.0
Slides: 14
Provided by: david2341
Learn more at: https://userweb.jlab.org
Category:
Tags: dana | consistency

less

Transcript and Presenter's Notes

Title: DANA


1
DANA
  • David Lawrence
  • Oct. 21, 2005

2
Outline
  • Requirements
  • Philosophy
  • Overview of Features
  • Open Questions

3
Requirements
  • Modular Reconstruction
  • Allow independent development of reconstruction
    code for independent detector systems
  • Easy to make customized programs that do only
    partial reconstruction
  • Consistency
  • Single mechanism for database access
  • Calibration constants
  • Parameters
  • Geometry Information
  • Interface for passing data between modules
  • Multi-threading
  • Shallow Learning Curve - Are we there?

4
Factory Paradigm
5
Event Loops and Threads
6
Event Sources and Sinks
  • The API for dealing with event sources is defined
    by the DEventSource base class
  • The API for dealing with event sinks (files) is
    defined by the DEventSink base class
  • New sources and sinks can be added at any time
    without affecting user code

7
Data Objects
  • All data objects inherit from DObject
  • DObject provides the object with an identifier
    that, unlike pointers, can be used outside the
    context of the program
  • class DHit public DObject
  • public
  • float x,y,z
  • HDCLASSDEF(DHit)

8
DANA Features
9
DANA uses Templates
  • Templates add better type checking while
    relieving the programmer of some responsibility
  • vectorltconst DTrackgt tracks
  • loop-gtGet(tracks)

10
Factory Tags
  • Tags are free-form strings that allow more than
    one factory to produce the same class of data
    objects. Factory tags are specified as an
    optional 2nd argument to DEventLoopGet()
  • vectorltconst DTrackgt tracks
  • loop-gtGet(tracks, LowResolution)

11
Configuration Parameters
  • Parameters are simple key/value pairs.
  • Database of parameters built up from factories at
    run time
  • maxhits10 // int
  • dparms.SetDefaultParameter(TRKmaxhits,
    maxhits)
  • Parameters can be modified at program startup and
    the database can be recorded in output

12
Other DANA Features
  • Data on demand
  • Shared Objects
  • Universal treatment of DObjects
  • Uses STL vectors for passing const pointers
  • Optional filter routine argument

13
Open Questions
  • Are any major changes needed?
  • What do we put in DObject? (toString(), isA(), )
  • How to implement identifiers
  • Introspection and I/O
  • 4-vector class? Histogram classes?
  • Move headers out of src/libraries/include e.g.
    include FDC/DFactory_DFDCHit.h
  • Access to auxiliary information
Write a Comment
User Comments (0)
About PowerShow.com