$Id: README,v 1.1 1999/01/07 16:05:40 gunter Exp $ ------------------------------------------------------------------- ========================================================= Geant4 - an Object-Oriented Toolkit for Simulation in HEP ========================================================= ExampleN01 ---------- ExampleN01 is the simplest example in this novice level examples. It has a tracker tube and a sandwitch calorimeter made of boxes. It shoots a geantino (pseudo-particle which has no "real" physics interaction) per one event. This example demonstrates how the basic GEANT4 framework works. 1. Detector descreption The detector is defined in ExN01DetectorConstruction.cc. Argon gas, alminum and lead are defined first, where all of them are single element material. Though materials are assigned for each volume, they will not affect to the trajectory of a geantino. The experimental hall, which is the world volume, is made of alminum and it is a box. The tracker tube made of argon gas is placed at (-1m,0m,0m) respect to the origin of the world volume. The calorimeter block made of lead and it has 19 layers of alminum plates inside. 2. Physics processes ExN01PhysicsList.cc defines only a geantino and a transprotation process. Though cutoff will not be applied onto geantino, a dummy valume must be set. 3. Event generation G4ParticleGun is instanciated in the constructor of ExN01PrimaryGeneratorAction class. At the every event, the public method GeneratePrimaries(G4Event*) is invoked. In this method, G4ParticleGun is accessed to generate a primary particle (geantino). Please note that the direction of the primary particle is set just before shooting, i.e. GeneratePrimaryVertex() method invokation. G4ParticleGun class itself does not have any capability of randomizing the energy nor momentum of the primary particle. Thus the user should implement randomizing code in GeneratePrimaries() method. 4. main() exampleN01.cc has the main() method. In this main() method, three mandatory user classes described above are constructed and set to the G4RunManager object. Then, "Initialize()" method of G4RunManager is invoked. Some UI commands for setting verbosity are applied via hardly coded "ApplyCommand()" method of G4UImanager class. "BeamOn()" method triggers the event loop. The argument of this method is the number of event in this run.