Benützer:


Struktur

Storyboard

>Modell

ID:(1190, 0)



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)