...
Main
...
Program
...
- 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.
...
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
...
- ?)
...
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"
...
- /
...
- > (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
- need well defined simple interface, e.g.
...
- interface
...
- BField
...
- {
...
- public
...
- Vector3D
...
- at(
...
- Vector3D
...
- x)
...
- ;
...
- }
- }
Readout Properties
LCGO drivers need to provide an implementation of an interface to query cellIDs, positions and neighbors:
Geometry Elements
Tracking Geometry
System of Units
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:
Wiki Markup |
---|
cout << " length of TPC \[cm\]: " << lcgo->getTPCParameters()->getLength() / cm << endl ; |
...