Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
h2. Main Program

...

Material Database

Field map

Readout Properties

Geometry Elements

Tracking Geometry  

...

 - Framework 

a Java main program has to be set up that
* builds under Java 1.4 (Maven, ant,....)

* builds with gcj  (make)

* reads xml files

** initially use compact format
** gradually extend/modify as needed
* drivers need to read xml and implement gear
* drivers should create geometry elements
** for detailed view (low level)
** for tracking view (mid level)
* initially export to GDML/LCDD should be suported

optionally some wrapping C+\+ code should be provided that allows to use LCGO in a C+\+ programm w/o having to rely on references to Java libraries, e.g. for the properties interface.

h2. Material Database

a material data base is needed that

* consists of the known materials

* has all the material properties needed for dE/dx
** A, Z (mean values) , X0, Interaction length,....

** check geant4/geant3 which these are
* is extensible by the user in input xml files
* provides material objects assigned to volumes (tracking) that give
** material properties
** dEdx( PDG, p , flightlength )
** optionally: dEdx( PDG, p , tracjectory ) ?
* material properties/names should be consistent

** with geant4
** NIST database (the same ?)

h2. Field map


LCGO needs to provide a mechanism for field maps

* should allow simple field definitions in xml file, e.g.
** <BField x="0.0" y="0.0" z="4.0" unit="Tesla"/>
** or better: <BField x="0.0" y="0.0" z="4.0*Tesla" />&nbsp; (see System of Units)

* should allow arbitrary field map from file, e.g.
** <BFIeld file="http://some.server.anywhere/ILCDetailedBField.map"/>
* need well defined file format and corresponding implementation class
* &nbsp;need well defined simple interface, e.g.

** interface BField { public Vector3D at( Vector3D x) ; }&nbsp;

h2. Readout Properties


LCGO drivers need to provide an implementation of an interface to query cellIDs, positions and neighbors:


h2. Geometry Elements


h2. Tracking Geometry &nbsp;


h2. System of Units&nbsp;

it is probably desirable to have a well defined system of units a la Geant4, so that every quantity comes in the properly defined unit. So that one can write code, such as:

&nbsp;&nbsp;&nbsp; cout << "&nbsp; length of TPC \[cm\]:&nbsp; " << lcgo->getTPCParameters()->getLength() / cm&nbsp; << endl ; &nbsp;

&nbsp;

&nbsp;