$Id: README,v 1.3 2002/07/02 18:35:01 asaim 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 description The detector is defined in ExN01DetectorConstruction.cc. Argon gas, aluminum and lead are defined first, where all of them are single element materials. Though materials are assigned for each volume, they will not affect the trajectory of a geantino. The experimental hall, which is the world volume, is made of argon gas 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 aluminum plates inside. 2. Physics processes ExN01PhysicsList.cc defines only a geantino and a transportation process. Though cutoff will not be applied onto geantino, a dummy value 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 the momentum of the primary particle. Therefore the user should implement randomizing code in the GeneratePrimaries() method. 4. main() exampleN01.cc has the main() method. In the main() method, three mandatory user classes described above are constructed and set to the G4RunManager object. Then, the "Initialize()" method of G4RunManager is invoked. Some UI commands for setting verbosity are applied via hardly coded "ApplyCommand()" method of G4UImanager class. The "BeamOn()" method triggers the event loop. The argument of this method is the number of event in the run.