Struktur des Hauptprogramms
Beschreibung 
Das einfachste Hauptprogramm main hat die Struktur:```int main(int argc, char** argv){ G4RunManager* runManager = new G4RunManager; MyGeometry* geom = new MyGeometry(); runManager->SetUserInitialization(geom); MyPhysicsList* physics = new MyPhysicsList(); runManager->SetUserInitialization(physics); MyPrimaryGeneratorAction* generator = new MyPrimaryGeneratorAction(); runManager->SetUserAction(generator); runManager->Initialize(); runManager->BeamOn(1); delete runManager; return 0;}```wo:> Steuerung ist initialisiert> Geometrie wird erstellt> Die Partikel werden erzeugt> Der Partikelgenerator wird erstellt> Ein Teilchen wird gefeuert> Das Programm wird abgeschlossen
ID:(9412, 0)
Erstellung von Geometrie
Beschreibung 
Das Minimum, um die Geometrie zu erstellen, ist ein Volumen, das erzeugt werden kann durch```Class MyGeometry : public G4VUserDetectorConstruction{ G4VPhysicalVolume* Construct();}```was von G4VUserDetectorConstruction geerbt wird.Der Volumen wird alle anderen Volumen des Modells enthalten und heißt 'Welt' oder 'world'.
ID:(9411, 0)
Erzeugung von Partikeln
Beschreibung 
Die einfachste Methode zum Erstellen der Partikel besteht darin, die Standardliste zu verwenden, die Gean4 mitbringt```G4VUserPhysicsList* physics = new FTFP_BERT();runManager->SetUserInitialization(physics);```was wird von G4VUserPhysicsList geerbt.Die andere Alternative ist die Erstellung durch den Benutzers, der Partikelkonstruktor (ConstructParticle ()), Prozesse (ConstructProcess ()) und Schnitte (SetCuts ()) enthalten muss durch:```class MyPhysics : public G4VUserPhysicsList{ void ConstructParticle(); void ConstructProcess(); void SetCuts();}```
ID:(9413, 0)
Schuss von Partikeln
Beschreibung 
Um die Teilchen zu erzeugen, wird ein Generator mit erzeugt```class myGenerator : public G4VUserPrimaryGeneratorAction{ void GeneratePrimaries(G4Event*);}```was von G4VUserPrimaryGeneratorAction vererbt wird und muss GeneratePrimaries(G4Event*) umsetzen.Die Partikel können von G4ParticleGun erzeugt werden, auf dem Schlüsselparameter definiert werden können:```G4ParticleGun* myGun = new G4ParticleGun(int n_particle = 1);myGun->SetMomentumDirection(G4ThreeVector(1,0,0));myGun->SetKineticEnergy(50.*MeV);myGun->GeneratePrimaryVertex(G4Event* anEvent);```
ID:(9414, 0)
