Usuario:


Estructura

Storyboard

>Modelo

ID:(1190, 0)



Estructura del programa main

Descripción

El programa main mas simple posible tiene la estructura:```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;}```en donde:> se inicializa el control> se crea la geometría> se crean las partículas> se crea el generador de partículas> se dispara una partícula> se cierra el programa

ID:(9412, 0)



Creación de la geometría

Descripción

El mínimo para crear la geometría es un volumen, lo que se puede hacer mediante```Class MyGeometry : public G4VUserDetectorConstruction{ G4VPhysicalVolume* Construct();}```lo que se hereda de G4VUserDetectorConstruction.El volumen incluirá todos los restantes volúmenes del modelo y se denomina el 'mundo' o 'world'.

ID:(9411, 0)



Creación de partículas

Descripción

La forma mas fácil para crear las partículas es usar la lista por defecto que trae Gean4 lo que se hace mediante```G4VUserPhysicsList* physics = new FTFP_BERT();runManager->SetUserInitialization(physics);```lo que se hereda de G4VUserPhysicsList.La otra alternativa es la creación a medida del usaurio que debe de incluir el cosntructor de particulas (ConstructParticle()), de procesos (ConstructProcess()) y los cortes (SetCuts()) mediante:```class MyPhysics : public G4VUserPhysicsList{ void ConstructParticle(); void ConstructProcess(); void SetCuts();}```

ID:(9413, 0)



Gun de partículas

Descripción

Para generar las partículas se crea un generador con```class myGenerator : public G4VUserPrimaryGeneratorAction{ void GeneratePrimaries(G4Event*);}```que se hereda de G4VUserPrimaryGeneratorAction y debe implementar GeneratePrimaries(G4Event*).Las partículas pueden ser generadas por G4ParticleGun sobre el que se pueden definir los parámetros claves por ejemplo como:```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)