Virtual MC Ali Root Fluka A Fass E

  • Slides: 20
Download presentation
Virtual MC Ali. Root + Fluka A. Fassò, E. Futó, A. Morsch 4 th

Virtual MC Ali. Root + Fluka A. Fassò, E. Futó, A. Morsch 4 th March, 2003 1

flukam TVirtual. MCApplication cascade TVirtual. MCStack TFluka source magfld Ali. Mag. F endraw. mgdraw.

flukam TVirtual. MCApplication cascade TVirtual. MCStack TFluka source magfld Ali. Mag. F endraw. mgdraw. common /trackr/ 1

Control methods TFluka: : Init() Open FLUKA input file Control cards for physics and

Control methods TFluka: : Init() Open FLUKA input file Control cards for physics and material options flukam(1) Call Fluka for Initialization Finish. Geometry() Process. Run() March 2003 f. Application->Init. Geometry(); f. Application->Begin. Event(); Process. Event(); f. Application->Finish. Event() ALICE Offline Week 1

Control methods TFluka: : Process. Event() f. Application->Generate. Primaries(); flukam(1) Call Fluka for transport

Control methods TFluka: : Process. Event() f. Application->Generate. Primaries(); flukam(1) Call Fluka for transport Others fluka/source. F reads from TVirtual. MCStack fluka/magfld. cxx uses Ali. Mag. F Called from source: Post. Track(); Finish. Primary(); Pre. Track(); March 2003 ALICE Offline Week 1

Control methods TFluka: : TVirtual. MCApplication: : Step. Manager Called by the following Fluka

Control methods TFluka: : TVirtual. MCApplication: : Step. Manager Called by the following Fluka routines: March 2003 bxdraw eedraw endraw mgdraw sodraw usdraw - called at boundary crossing - called at the end of an event - called at energy deposition - called when a particle moves a step - called at source time - called at physical interactions ALICE Offline Week 1

Control methods TFluka: : Finish. Geometry() Use Flugg (FGeometry. Init) to built look-up tables

Control methods TFluka: : Finish. Geometry() Use Flugg (FGeometry. Init) to built look-up tables Region. Volume. Map G 4 Volume->Fluka Region Medium. Volume. Map G 4 Volume->Material Number Vol. Id. Volume. Map G 4 Volume->Virtual MC volume number Region. Medium. Map March 2003 Fluka Region -> Material Number ALICE Offline Week 1

Delegation to Flugg Get. Medium() Current material number Current. Vol. ID(Int_t& copy. No) Current

Delegation to Flugg Get. Medium() Current material number Current. Vol. ID(Int_t& copy. No) Current volume id and copy number corresponding to the current Fluka region Current. Vol. Off. ID(Int_t off, Int_t& copy. No) Current volume id and copy number for off'th mother Gmtod(Float_t* xm, Float_t* xd, Int_t iflag) March 2003 global to local transformation ALICE Offline Week 1

Delegation to Flugg Current. Vol. Name() Current volume name corresponding to the current Fluka

Delegation to Flugg Current. Vol. Name() Current volume name corresponding to the current Fluka region Current. Vol. Off. Name(Int_t off) Current volume name and copy number for off'th mother Current. Material(Float_t &a, Float_t &z, Float_t &dens, Float_t &radl, Float_t absl) Current medium number March 2003 ALICE Offline Week 1

Delegation to Flugg Gmtod(Float_t* xm, Float_t* xd, Int_t iflag) Global to local transformation Gdtom(Float_t*

Delegation to Flugg Gmtod(Float_t* xm, Float_t* xd, Int_t iflag) Global to local transformation Gdtom(Float_t* xd, Float_t* xm, Int_t iflag) March 2003 Local to global transformation ALICE Offline Week 1

Delegation to Flugg To be done: Factorize FGeometry. Init into original and Virtual. MC

Delegation to Flugg To be done: Factorize FGeometry. Init into original and Virtual. MC part by Deriving from FGeometry. Init ? March 2003 ALICE Offline Week 1

ID <---> PDG transformations TFluka: : Id. From. PDG Return Fluka code from PDG

ID <---> PDG transformations TFluka: : Id. From. PDG Return Fluka code from PDG (later also ion Fluka code from pseudo ENDF) PDGFrom. Id Return PDG code (later from pseudo ENDF from ion Fluka code PDG = Particle Data Group ENDF = Evaluated Nuclear Data File March 2003 ALICE Offline Week 1

Dynamic properties TFluka: : Track. Position Return the current position in the master reference

Dynamic properties TFluka: : Track. Position Return the current position in the master reference frame of the track being transported Track. Momentum Return the direction and the momentum (Gev/c) of the track currently being transported Track. Step Edep Track. Pid Track. Charge Track. Mass Etot Is. Track. Entering March 2003 Return the (curved) length in cm of the current step Energy deposition Return the id of the transported particle Return the charge of the transported particle Return the mass of the transported particle Return the total energy of the transported particle True if this is the first step of the track in the current volume ALICE Offline Week 1

Dynamic properties TFluka: : Is. Track. Exiting True if this is the last step

Dynamic properties TFluka: : Is. Track. Exiting True if this is the last step of the track in the current volume Is. Track. Out True if the track is out of the setup (=escape) Is. Track. Disappeared Means all inelastic interactions and decays Is. Track. Stop Track stopped by signal or below energy threshold Is. Track. Alive Means not disappeared or not out NSecondaries Number of secondary particles generated in the current step Get. Secondary Prod. Process Vol. Id 2 Mate March 2003 particle. Id, position, momentum Name of the process that has produced the secondary particles in the current step Returns the material number for a given volume ID ALICE Offline Week 1

Dynamic properties TFluka: : Vol. Name Vol. Id March 2003 Returns the volume name

Dynamic properties TFluka: : Vol. Name Vol. Id March 2003 Returns the volume name for a given volume ID Converts from volume name to volume ID ALICE Offline Week 1

Non-applicable methods TFluka: : Control methods Build. Physics Presently done via an ASCII input

Non-applicable methods TFluka: : Control methods Build. Physics Presently done via an ASCII input file Step management Set. Max. Step Set. Max. NStep Set. User. Decay March 2003 Presently done via an ASCII input file Cannot be implemented ALICE Offline Week 1

Methods to be implemented TFluka: : Dynamic properties Track. Length Returns the total length

Methods to be implemented TFluka: : Dynamic properties Track. Length Returns the total length starting from the beginning of the track Track. Time Returns the current time of flight of the track being transported Is. New. Track True if the track is not at the boundary of the current volume. Not yet clear how it can be implemented. Is. Track. Inside True if the track is not at the boundary of the current volume. Not yet clear how it can be implemented. Edep Energy depositon. In Fluka, it can be pointlike or distributed along the step. Presently no distinction made, but in can be added. March 2003 ALICE Offline Week 1

Methods to be implemented TFluka: : Dynamic properties Prod. Process March 2003 Name of

Methods to be implemented TFluka: : Dynamic properties Prod. Process March 2003 Name of the process that has produced the secondary particle in the current step. Can be more detailed: - PPair --> PPair. From. Photon and PPair. From. Virtual. Photon - PBrem --> PBrem. From. Heavy and PBrem. From. Electron. Or. Positron - PDelta. Ray --> PMoller and PBhabha - PAnnihilation --> PAnnhil. In. Flight and PAnnihil. At. Rest - processes not used: PCerenkov and PSynchrotron ALICE Offline Week 1

First Fluka event display March 2003 ALICE Offline Week 1

First Fluka event display March 2003 ALICE Offline Week 1

To be done TVirtual. MCApplication: : Set. Track To record particle history Store Virtual.

To be done TVirtual. MCApplication: : Set. Track To record particle history Store Virtual. MC track id in fluka common blocks Almost done Physics configuration Active stepping actions Stopping User particles on the stack External decayer (implementation not obvious) Extra step at boundary crossing March 2003 ALICE Offline Week 1

Conclusion Simulation chain active from primary particle generation to writing of hits So far

Conclusion Simulation chain active from primary particle generation to writing of hits So far no big changes to FLUKA source code necessary No show-stopper in sight Would be nice to do the full testing with Root Geometry Modeler to avoid dependence on G 4 -FLUGG But not yet on critical path March 2003 ALICE Offline Week 1