Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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

...