Difference between revisions of "MOLLERsim application coding guidelines"

From Hall A Wiki
Jump to: navigation, search
(General)
(General)
 
(4 intermediate revisions by the same user not shown)
Line 6: Line 6:
 
# guarantee that it works on the farm
 
# guarantee that it works on the farm
 
## use "central" GEANT4 installation  
 
## use "central" GEANT4 installation  
### We like OpenInventor?
+
### Visualization - we will use Qt
### We want to be able to use GNUMake?
+
### We will use cmake
 
## if someone gets it working on other platforms, may offer support
 
## if someone gets it working on other platforms, may offer support
 
# when you make a change, you need to make sure that it works!
 
# when you make a change, you need to make sure that it works!
Line 13: Line 13:
 
## with the "approved" environment variables
 
## with the "approved" environment variables
 
## update your version and make sure your changes work with the latest version before committing
 
## update your version and make sure your changes work with the latest version before committing
The Sun is pretty big.<ref name=Foot01/><ref group=Note name=Note01/> But the Moon<ref group=Note name=Note02/> is not so big.<ref name=Foot02/><ref group=Note name=Note03/> The Sun is also quite hot.<ref name=Foot03/>
 
 
==Notes==
 
{{reflist|group=Note|refs=
 
<ref name=Note01>But Miller points out that the Sun is not as large as some other stars.</ref>
 
<ref name=Note02>The Moon goes by other names, such as Selena.</ref>
 
<ref name=Note03>Historically the Moon was not always considered to be large.</ref>
 
}}
 
 
==References==
 
{{reflist|refs=
 
<ref name=Foot01>Miller, ''The Sun'', Oxford, 2005, p. 23.</ref>
 
<ref name=Foot02>Brown, ''The Moon'', 2006, Penguin, p. 46.</ref>
 
<ref name=Foot03>Smith, ''The Universe'', Random House, 2005, p. 334.</ref>
 
}}
 
  
 
== Geometry ==
 
== Geometry ==

Latest revision as of 12:04, 10 December 2012

General

  1. comment for DOxygen
  2. use object-oriented code
  3. use GEANT4 classes - don't reinvent the wheel
  4. guarantee that it works on the farm
    1. use "central" GEANT4 installation
      1. Visualization - we will use Qt
      2. We will use cmake
    2. if someone gets it working on other platforms, may offer support
  5. when you make a change, you need to make sure that it works!
    1. on the farm...
    2. with the "approved" environment variables
    3. update your version and make sure your changes work with the latest version before committing

Geometry

  1. use GDML (need to decide about how to do modular geometry)
  2. hard-code materials?
  3. parameterize where possible

Generators

Analysis

  1. Define tracking in correct places (step, event, run, etc.)