Monday, July 9, 2012

From Hall A Wiki
Jump to: navigation, search

Morning Talks

Kernel 1

  • Physics lists models overlap in energy range.
  • NIM articles about GEANT4.
  • Use trajectory class instead of track to record trajectories
  • Use pre-step and post-step for reflection/refraction simulations (knows both materials)
  • Can use G4VTrajectory class to store all the members you need (see talk on Thursday)
  • Geometry in G4Track; physics in G4DynamicParticle; "static" properties in G4ParticleDefinition
  • Tracking and SteppingAction or G4 scoring functionality
  • Each hard-coded number must be multiplied by its proper unit; to get the number, you must divided by its proper unit.

User Documents and Examples I

  • Have to use cmake if you are installing GEANT4 from the source
  • Novice examples
    • N01 - can only compile it an run it; can't change it.
    • N02 - parameterized volumes (size is fn. of position); can extract hit info, visualize
    • N03 - sampling calorimeter - lAr does detection, replica volumes, different ways to define materials, randomization,

random seed handling, EM physics, visualization tutorial

    • N04 - collider detector, Pythia - 3 events, full set of EM and hadronic physics
    • N05 - EM or pion showers - G4VFastSimulationModel - parameterize shape of EM shower (pion shower won't work)
    • N06 - Optical photons with water cerenkov detector
    • N07 - run based rather than event based, 3 sandwich calorimeters, ghost volumes for scoring, change geometry without

re-building world; set cuts

  • Secondary production cuts!!!
  • Code Browsers
    • LXR - www-geant4.kek.jp/LXR - searchable by filename, identifier, text
    • DOxygen version - www-geant4.kek.jp/Reference
  • HyperNews forum - hypernews.slac.stanford.edu/HyperNews/geant4/cindex - join!!!


User Interface I

  • UI commands - command syntax, macro file, G4UI
  • <directory>/<command> <parameters>
  • some commands don't take parameters, if they do, space is delimiter, ! means default
  • hard-coded implementation is slow and should NOT be used in an event loop
    • ---> requires string manipulations - could become order of magnitude slower
    • use to read default macro file in main
  • /control/manual [directory]
  • /control/createHTML [directory] - will create a manua for you
  • /myCmd/getFile {file1{run}} after creating aliases for file1 and run
  • /control/loop - slide 9
  • pwd, ls, other commands on slide 11 - can't be used in macro file


These notes have significant gaps, if someone can help fill it in...
  • What can be visualized - can get smooth curve with steps, can use scales with color
  • can write code to add "whatever you want" - axes, text - some drivers don't handle text properly
  • Different interfaces used for different reasons
  • OpenGL <-- will use the fanciest version you have the ability to use, or you can specify a version
    • Stored, QT, etc.
    • Postscript printing
    • Can do movies
      • stores frames - has time delay so tracks don't just overlap
      • can change viewpoint
  • Open Inventor - comes with GEANT4 installation?
    • Pictures in slides are somewhat old - doesn't look that primitive
    • type commands in GUI, not only in terminal window (as with QT)
    • command tree set up as pull-down menus
  • HepRep - need to install separately
    • GEANT4 can write it out
    • have to install it if you want to use the files that are written out
    • can zoom rotate, etc. after the fact (not in a GEANT4 session)
    • click on elements and see info about hits or volumes
    • HepRApp
      • Apply cuts offline - show tracks with cuts
    • WIRED4 - part of JAS
      • sort of like root, only JAVA based
    • FRED
    • HepRep can't handle complex geometries
  • DAWN
    • useful for debugging - can isolate particular volumes
    • renders drawings nicely - retain resolution so you can zoom later - true vector .ps output
    • can use DAWN renderer after the fact, otherwise have to link properly when you set up GEANT4
    • DAVID will show you overlaps in detail
    • can send .prim files in emails (kB vs. MB)
  • Raytracer
    • uses geantinos to create envelope of what tracking sees
    • check for overlaps, other geo mistakes
    • can handle complicated boolean solids
  • gMocren
    • biological applications
  • Ascii tree - also useful to check geometry
    • what the volume names really are
    • calculated mass of components

Afternoon Talks

Material Definition

This needs some notes, however, not much was said that was not on the slides. There were some questions which I didn't catch.
  • FindorBuildMaterial <-- must be in database.

Geometry I

  • Diagram definition
    • Boxes are classes
    • arrow from one box to another indicates a class derived from a base class
    • lines with diamonds indicate members?
  • Can reuse solids, but may need to have different logical volumes
  • G4VSolid defines all methods
  • BREP
    • define 6 planes instead of defining a box
  • In the geometry section of the users manual, a java applet will let you rotate the volumes if you click on the picture
  • BREP - volume must be closed!
  • Solids may never ever ever overlap - you must combine using Boolean solids
  • cannot combine BREP solids, only CSG solids
  • the coordinate system is always that of the first solid used in the boolean operation, even if the origin ends up being outside of the final boolean solid


Hands-on I

  • getting installation to work



Return to JLAB GEANT4 Workshop, July 9-13, 2012
Return to MOLLER GEANT4 Simulations
Return to MOLLER at 11 GeV E09-005