Skip to content

Latest commit

 

History

History
73 lines (51 loc) · 3.53 KB

index.markdown

File metadata and controls

73 lines (51 loc) · 3.53 KB
layout description p1 p2 p3 v1 v2 v3 v4 v5 v6
default
{::nomarkdown} GEMC use databases (ASCII, SQLITE, MYSQL) to create Geant4 simulation objects such as geometry, materials, etc. Since no quantity is hard-coded, systems can be created or modified w/o re-compiling the code. In addition:<br/><br/> <li>The geometry/materials API is in python </li> <li>Models can be imported from CAD and/or GDML and mixed with native Geant4 volumes</li> <li>The geometry can be modded at run time, for example by applying tilts / displacements</li><br/>{:/}
Geant4 volumes are built using the sci-g python API.
An example geometry: a flux scintillator paddle collects hits from protons impinging on a liquid hydrogen target
The [above snippet](https://gist.github.com/maureeungaro/8e8616b388d65df0c8168a6b205f0c43) is the only code needed to build the geometry and record all tracks hitting the paddle.
<br/> A detector can be re-used in multiple experiments, with configuration changes such as shifts components, changes of materials, addition or removal of certain volumes.<br/><br/>
GEMC can manage this with a string variable called `variation`. This has the advantages:<br/><br/>
{::nomarkdown}<li>Multiple versions of a detector are organized using a single string</li>
<li>Easiness to select the desired configuration</li><br/><br/>{:/}
In the above animation two variations of the CLAS12 Central Detector (*clas12CD*) are shown. The geometries are identical except for the position of the target. <br/>
In the JSON steering card the two variations of clas12CD are loaded by specifying the variation name: <br/><br/> <font size="2"> { "system": "clas12CD", "variation": "nominal" } <br/> { "system": "clas12CD", "variation": "targetShift" }</font>

GEMC (GEant Monte-Carlo) is a program based on Geant4 to simulate the passage of particles through matter. It provides:

  • MYSQL / ASCII Databases for geometry, materials, calibration constants, digitization
  • Geometry variations
  • Emulation of hardware electronics
  • Pre-packaged signal digitization such as flux and dosimeter
  • Plugins mechanism for generators, fields, digitization, inefficiencies, output
  • Built-in ASCII and ROOT output

Database sources: code-independent simulations
{{ page.description }}
gemcArch
{{ page.c5 }}



Python API
gemcExamplePic gemcCodeExample
{{ page.p1 }} {{ page.p2 }} {{ page.p3 }}



Detector Variations
clas12v {{ page.v1 }} {{ page.v2 }} {{ page.v3 }} {{ page.v4 }}
{{ page.v5 }} {{ page.v6 }}