SlideShare una empresa de Scribd logo
1 de 17
Descargar para leer sin conexión
GEANT 4
2O13
gallardo@tandar.cnea.gov.ar
qu´e es? ...qu´e no es?
▲ GEometry ANd Tracking, Geometr´ıa y seguimiento, es un software que
permite estudiar el paso de la radiaci´on por la materia utilizando algoritmos
de MonteCarlo.
▲ No es un programa, sino un conjunto de librerias escritas en C++, con
ciertas facilidades para manipular datos, crear gr´aficos, etc (toolkit) que
permiten escribir uno mismo los programas.
ventajas/desventajas
▲ Se puede usar para cualquier simulaci´on que requiera Montecarlo, Sin
embargo, es especialmente indicado para simular haces de part´ıculas
interactuando con la materia, como es nuestro caso.
▲ Su instalaci´on completa (con todos los m´odulos) es complicada ya que
requiere el numerosas librerias, y no figura en ning´un repositorio. Esto
significa que uno mismo debe compatibilizar las dependencias.
▲ Viene con una interfaz gr´afica integrada, que puede activarse o no.
▲ Est´a dise˜nado para usarse bajo el paradigma de programaci´on orientada a
objetos, esto es una complicaci´on en su aprendizaje, pero es una ventaja
despu´es.
▲ Al ser un codigo abierto, y no un programa, se puede incorporar cualquier
otro codigo (escrito en C/C++) que nos sirva para efectuar tareas espec´ıficas.
estructura de programaci´on
podemos distinguir dos capas principales: una capa de usuario donde se
desarrolla la aplicaci´on y una segunda capa m´as interna de los m´etodos propios
de Geant4, estos m´etodos comienzan con el prefijo G4. Dentro de esas capas se
distinguen tres bloques principales: Construcci´on, F´ısica y Acci´on.
G4RunManager
G4Event
G4ParticleGun
G4Randomize
G4BosonConstruction
G4IonConstruction
G4SystemOfUnits
G4Box
G4Tubs
G4LogicalVolume
G4VisAttributes
G4QuadrupoleMagField
PhysicsList PrimaryGeneratorActionDetectorConstruction
main()
CAPAG4CAPADEUSUARIO
APLICACION
FISICACONSTRUCCION
PRINCIPAL
ACCION
main()
El objeto principal es de la clase G4RunManager y es la unica obligatoria en
Geant4, todas las otras clases son instanciadas a partir de ´esta:
G4RunManager* runManager = new G4RunManager;
runManager ->SetUserInitialization (new Construction);
runManager ->SetUserInitialization (new PhysicsList );
runManager ->SetUserAction(new GeneratorAction);
runManager ->initialize ();
tambi´en se puede inicializar un gestor de comandos:
G4UImanager * UI = G4UImanager :: GetUIpointer();
UI -> ApplyCommand("/run /verbose 1");
el m´etodo BeamOn inicia la corrida, es decir ”enciende” el haz
int numberOfEvent = 3;
runManager ->BeamOn ( numberOfEvent);
construcci´on
Define la geometr´ıa del sistema, en GEANT4 se suele usar el t´ermino detector.
solidWorld = new G4Box ("World ", X , Y, Z);
logicWorld = new G4LogicalVolume(solidWorld ,
Material ,
"World");
physiWorld = new G4PVPlacement(0,
G4ThreeVector(x,y,z),
logicWorld ,
"World ",
0,
false ,
0);
son todos par´ametros geom´etricos, salvo Material que representa un material.
sustancias
Se pueden definir elementos y sustancias especificando sus componentes
G4Material * H2O =
new G4Material ("Water", density = 1.000* g/cm3 , ncomponents =2)
;
H2O ->AddElement (H, natoms =2);
H2O ->AddElement (O, natoms =1);
H2O -> GetIonisation() ->SetMeanExcitationEnergy (78.0* eV);
como se aprecia, se pueden usar unidades, previamente definiendo las variables
con el tipo G4double
G4double density ;
f´ısica
Define los fen´omenos involucrados en la simulaci´on.
Se pueden definir part´ıculas y el tipo de procesos que van a desencadenar.
}else if ( particleName == "e-"){
ph ->RegisterProcess(new G4eMultipleScattering , particle );
ph ->RegisterProcess(new G4eIonisation , particle );
ph ->RegisterProcess(new G4eBremsstrahlung , particle );
}
eso me define un haz de electrones, unidimensional.
acci´on
Define los eventos que activan los procesos fisicos de la aplicaci´on.
G4ParticleDefinition * particle
= particleTable -> FindParticle(particleName="e-");
particleGun1 -> SetParticleDefinition (particle );
particleGun1 -> SetParticleMomentumDirection (G4ThreeVector
(0. ,0. ,1.) );
particleGun1 -> SetParticleEnergy(particleEnergy*MeV );
esto dispara el haz unidimensional.
haz
Es posible definir varios ca˜nones, formando un haz realista, y darle la forma
deseada.
particleGun1 = new G4ParticleGun(n_particle );
particleGun2 = new G4ParticleGun(n_particle );
particleGun3 = new G4ParticleGun(n_particle );
particleGun4 = new G4ParticleGun(n_particle );
particleGun5 = new G4ParticleGun(n_particle );
particleGun6 = new G4ParticleGun(n_particle );
particleGun7 = new G4ParticleGun(n_particle );
particleGun8 = new G4ParticleGun(n_particle );
G4double particleEnergy= 100.* MeV ;
absorbedor de agua
-------------------- End of Run ----------------------
mean Energy in Absorber : 5.6 GeV +- 0 eV
mean Energy in Gap : 1.16722 e-14 eV +- 0 eV
mean trackLength in Absorber : 3.28114 m +- 0 fm
mean trackLength in Gap : 80 m +- 0 fm
----------------------------------------------------
campos
▲ Geant4 permite el uso de campos el´ectricos y magn´eticos, de cualquier forma
e intensidad.
▲ En particular, podemos usar campos Magn´eticos uniformes y cuadrupolares,
pero tambi´en podemos definir los nuestros propios.
steerer
G4FieldManager* fieldMgr =
G4TransportationManager :: GetTransportationManager ()->
GetFieldManager();
magField = new G4UniformMagField( G4ThreeVector(0., fieldValue
, 0.) );
fieldMgr -> SetDetectorField(magField );
fieldMgr -> CreateChordFinder(magField );
steerer, haz de He3 y protones
G4ParticleDefinition * particle =
particleTable ->FindParticle(particleName="He3
");
G4ParticleDefinition * particle2 =
particleTable ->FindParticle(particleName2="
proton ");
En este haz el campo separa los iones seg´un:
Bρ =
√
2mE
Z|e|
cuadrupolo
G4RotationMatrix* Rot = new G4RotationMatrix;
QuadmagField = new G4QuadrupoleMagField (pGradient ,
G4ThreeVector(0.,0., trip_Z ), Rot );
alcance
▲ Geant4 se puede usar
para simular cualquier
sistema de haces por
complejo que sea, la
´unica limitaci´on es el
poder de calculo de
maquina.
▲ Ejemplos: El LHC y
terapia con iones de
12
C [Satoru et Al.
(2012)].
▲ El tiempo de calculo,
depende de la cantidad
de elementos y del
tama˜no del sistema.
l´ınea AMS/TANDAR
Sin lugar a dudas la herramienta es id´onea para resolver todos los problemas de
inter´es relativos al TANDAR (enfoque, cuadupolos, etc).
En la l´ınea AMS, hay que tener en cuenta las siguientes particularidades:
▲ La l´ınea consta de 2 cuadrupolos tripletes y 2 steerers.
▲ Su largo de es de aprox. 20 m.
▲ El haz compuesto no esta formado por haces paralelos, sino que al provenir
de un enfoque previo, tiene una divergencia.
▲ eventualmente habr´a un filtro de Wien.
Todas las cuales pueden ser perfectamente tratados con G4.

Más contenido relacionado

La actualidad más candente

Parcial t1 2011 sol
Parcial t1 2011 solParcial t1 2011 sol
Parcial t1 2011 solJair BG
 
Node Js & 3D Printer
Node Js & 3D PrinterNode Js & 3D Printer
Node Js & 3D Printernanusefue
 
Ejemplo varias interrupciones
Ejemplo varias interrupcionesEjemplo varias interrupciones
Ejemplo varias interrupcionesLuis Zurita
 
Curso Micro Tema 4
Curso Micro Tema 4Curso Micro Tema 4
Curso Micro Tema 4Luis Zurita
 

La actualidad más candente (6)

Pwmfsd
PwmfsdPwmfsd
Pwmfsd
 
Comandos bbu
Comandos bbuComandos bbu
Comandos bbu
 
Parcial t1 2011 sol
Parcial t1 2011 solParcial t1 2011 sol
Parcial t1 2011 sol
 
Node Js & 3D Printer
Node Js & 3D PrinterNode Js & 3D Printer
Node Js & 3D Printer
 
Ejemplo varias interrupciones
Ejemplo varias interrupcionesEjemplo varias interrupciones
Ejemplo varias interrupciones
 
Curso Micro Tema 4
Curso Micro Tema 4Curso Micro Tema 4
Curso Micro Tema 4
 

Similar a charlita

ARDUINO GRAFCET - Metodología para la adaptación de automatismos simulado...
ARDUINO  GRAFCET  - Metodología para la adaptación  de automatismos  simulado...ARDUINO  GRAFCET  - Metodología para la adaptación  de automatismos  simulado...
ARDUINO GRAFCET - Metodología para la adaptación de automatismos simulado...Jovanny Duque
 
Herramientas de monitoreo
Herramientas de monitoreoHerramientas de monitoreo
Herramientas de monitoreoTensor
 
Algoritmos - Funciones C++
Algoritmos - Funciones C++ Algoritmos - Funciones C++
Algoritmos - Funciones C++ Ronal Palomino
 
David Meléndez Cano - Trash Robotic Router Platform (TRRP) [Rooted CON 2013]
David Meléndez Cano - Trash Robotic Router Platform (TRRP) [Rooted CON 2013]David Meléndez Cano - Trash Robotic Router Platform (TRRP) [Rooted CON 2013]
David Meléndez Cano - Trash Robotic Router Platform (TRRP) [Rooted CON 2013]RootedCON
 
Segundo laboratorio de Android
Segundo laboratorio de AndroidSegundo laboratorio de Android
Segundo laboratorio de AndroidGDG Cali
 
Primera App - Laboratorio Android
Primera App - Laboratorio AndroidPrimera App - Laboratorio Android
Primera App - Laboratorio AndroidGDG Cali
 
Móvil esquiva objetos
Móvil esquiva objetosMóvil esquiva objetos
Móvil esquiva objetosLucasPytel
 
Jerónimo López | Introducción a GraalVM | Codemotion Madrid 2018
Jerónimo López | Introducción a GraalVM | Codemotion Madrid  2018  Jerónimo López | Introducción a GraalVM | Codemotion Madrid  2018
Jerónimo López | Introducción a GraalVM | Codemotion Madrid 2018 Codemotion
 
19189723 estructura-de-datos-programacion-facil
19189723 estructura-de-datos-programacion-facil19189723 estructura-de-datos-programacion-facil
19189723 estructura-de-datos-programacion-facilDariana Acuariogv
 
Aplicación de un Sistema Operativo de Tiempo Real (RTOS) en un robot Arduino
Aplicación de un Sistema Operativo de Tiempo Real (RTOS) en un robot ArduinoAplicación de un Sistema Operativo de Tiempo Real (RTOS) en un robot Arduino
Aplicación de un Sistema Operativo de Tiempo Real (RTOS) en un robot ArduinoMaría Emilia Charnelli
 
Practica Dispositivo IoT.pdf
Practica Dispositivo IoT.pdfPractica Dispositivo IoT.pdf
Practica Dispositivo IoT.pdfAngelSanchezZarco
 

Similar a charlita (20)

ARDUINO GRAFCET - Metodología para la adaptación de automatismos simulado...
ARDUINO  GRAFCET  - Metodología para la adaptación  de automatismos  simulado...ARDUINO  GRAFCET  - Metodología para la adaptación  de automatismos  simulado...
ARDUINO GRAFCET - Metodología para la adaptación de automatismos simulado...
 
Mrtg ubuntu
Mrtg ubuntuMrtg ubuntu
Mrtg ubuntu
 
Herramientas de monitoreo
Herramientas de monitoreoHerramientas de monitoreo
Herramientas de monitoreo
 
Algoritmos - Funciones C++
Algoritmos - Funciones C++ Algoritmos - Funciones C++
Algoritmos - Funciones C++
 
Tercera unidad
Tercera unidadTercera unidad
Tercera unidad
 
Tercera unidad
Tercera unidadTercera unidad
Tercera unidad
 
Tercera unidad
Tercera unidadTercera unidad
Tercera unidad
 
Tercera unidad
Tercera unidadTercera unidad
Tercera unidad
 
David Meléndez Cano - Trash Robotic Router Platform (TRRP) [Rooted CON 2013]
David Meléndez Cano - Trash Robotic Router Platform (TRRP) [Rooted CON 2013]David Meléndez Cano - Trash Robotic Router Platform (TRRP) [Rooted CON 2013]
David Meléndez Cano - Trash Robotic Router Platform (TRRP) [Rooted CON 2013]
 
Segundo laboratorio de Android
Segundo laboratorio de AndroidSegundo laboratorio de Android
Segundo laboratorio de Android
 
Primera App - Laboratorio Android
Primera App - Laboratorio AndroidPrimera App - Laboratorio Android
Primera App - Laboratorio Android
 
Móvil esquiva objetos
Móvil esquiva objetosMóvil esquiva objetos
Móvil esquiva objetos
 
Jerónimo López | Introducción a GraalVM | Codemotion Madrid 2018
Jerónimo López | Introducción a GraalVM | Codemotion Madrid  2018  Jerónimo López | Introducción a GraalVM | Codemotion Madrid  2018
Jerónimo López | Introducción a GraalVM | Codemotion Madrid 2018
 
19189723 estructura-de-datos-programacion-facil
19189723 estructura-de-datos-programacion-facil19189723 estructura-de-datos-programacion-facil
19189723 estructura-de-datos-programacion-facil
 
EVALUACION DE ALGORTIMOS
EVALUACION DE ALGORTIMOSEVALUACION DE ALGORTIMOS
EVALUACION DE ALGORTIMOS
 
Aplicación de un Sistema Operativo de Tiempo Real (RTOS) en un robot Arduino
Aplicación de un Sistema Operativo de Tiempo Real (RTOS) en un robot ArduinoAplicación de un Sistema Operativo de Tiempo Real (RTOS) en un robot Arduino
Aplicación de un Sistema Operativo de Tiempo Real (RTOS) en un robot Arduino
 
Viernes Tecnicos DTrace
Viernes Tecnicos DTraceViernes Tecnicos DTrace
Viernes Tecnicos DTrace
 
Concurrencia en Java
Concurrencia en Java Concurrencia en Java
Concurrencia en Java
 
Redes
RedesRedes
Redes
 
Practica Dispositivo IoT.pdf
Practica Dispositivo IoT.pdfPractica Dispositivo IoT.pdf
Practica Dispositivo IoT.pdf
 

charlita

  • 2. qu´e es? ...qu´e no es? ▲ GEometry ANd Tracking, Geometr´ıa y seguimiento, es un software que permite estudiar el paso de la radiaci´on por la materia utilizando algoritmos de MonteCarlo. ▲ No es un programa, sino un conjunto de librerias escritas en C++, con ciertas facilidades para manipular datos, crear gr´aficos, etc (toolkit) que permiten escribir uno mismo los programas.
  • 3. ventajas/desventajas ▲ Se puede usar para cualquier simulaci´on que requiera Montecarlo, Sin embargo, es especialmente indicado para simular haces de part´ıculas interactuando con la materia, como es nuestro caso. ▲ Su instalaci´on completa (con todos los m´odulos) es complicada ya que requiere el numerosas librerias, y no figura en ning´un repositorio. Esto significa que uno mismo debe compatibilizar las dependencias. ▲ Viene con una interfaz gr´afica integrada, que puede activarse o no. ▲ Est´a dise˜nado para usarse bajo el paradigma de programaci´on orientada a objetos, esto es una complicaci´on en su aprendizaje, pero es una ventaja despu´es. ▲ Al ser un codigo abierto, y no un programa, se puede incorporar cualquier otro codigo (escrito en C/C++) que nos sirva para efectuar tareas espec´ıficas.
  • 4. estructura de programaci´on podemos distinguir dos capas principales: una capa de usuario donde se desarrolla la aplicaci´on y una segunda capa m´as interna de los m´etodos propios de Geant4, estos m´etodos comienzan con el prefijo G4. Dentro de esas capas se distinguen tres bloques principales: Construcci´on, F´ısica y Acci´on. G4RunManager G4Event G4ParticleGun G4Randomize G4BosonConstruction G4IonConstruction G4SystemOfUnits G4Box G4Tubs G4LogicalVolume G4VisAttributes G4QuadrupoleMagField PhysicsList PrimaryGeneratorActionDetectorConstruction main() CAPAG4CAPADEUSUARIO APLICACION FISICACONSTRUCCION PRINCIPAL ACCION
  • 5. main() El objeto principal es de la clase G4RunManager y es la unica obligatoria en Geant4, todas las otras clases son instanciadas a partir de ´esta: G4RunManager* runManager = new G4RunManager; runManager ->SetUserInitialization (new Construction); runManager ->SetUserInitialization (new PhysicsList ); runManager ->SetUserAction(new GeneratorAction); runManager ->initialize (); tambi´en se puede inicializar un gestor de comandos: G4UImanager * UI = G4UImanager :: GetUIpointer(); UI -> ApplyCommand("/run /verbose 1"); el m´etodo BeamOn inicia la corrida, es decir ”enciende” el haz int numberOfEvent = 3; runManager ->BeamOn ( numberOfEvent);
  • 6. construcci´on Define la geometr´ıa del sistema, en GEANT4 se suele usar el t´ermino detector. solidWorld = new G4Box ("World ", X , Y, Z); logicWorld = new G4LogicalVolume(solidWorld , Material , "World"); physiWorld = new G4PVPlacement(0, G4ThreeVector(x,y,z), logicWorld , "World ", 0, false , 0); son todos par´ametros geom´etricos, salvo Material que representa un material.
  • 7. sustancias Se pueden definir elementos y sustancias especificando sus componentes G4Material * H2O = new G4Material ("Water", density = 1.000* g/cm3 , ncomponents =2) ; H2O ->AddElement (H, natoms =2); H2O ->AddElement (O, natoms =1); H2O -> GetIonisation() ->SetMeanExcitationEnergy (78.0* eV); como se aprecia, se pueden usar unidades, previamente definiendo las variables con el tipo G4double G4double density ;
  • 8. f´ısica Define los fen´omenos involucrados en la simulaci´on. Se pueden definir part´ıculas y el tipo de procesos que van a desencadenar. }else if ( particleName == "e-"){ ph ->RegisterProcess(new G4eMultipleScattering , particle ); ph ->RegisterProcess(new G4eIonisation , particle ); ph ->RegisterProcess(new G4eBremsstrahlung , particle ); } eso me define un haz de electrones, unidimensional.
  • 9. acci´on Define los eventos que activan los procesos fisicos de la aplicaci´on. G4ParticleDefinition * particle = particleTable -> FindParticle(particleName="e-"); particleGun1 -> SetParticleDefinition (particle ); particleGun1 -> SetParticleMomentumDirection (G4ThreeVector (0. ,0. ,1.) ); particleGun1 -> SetParticleEnergy(particleEnergy*MeV ); esto dispara el haz unidimensional.
  • 10. haz Es posible definir varios ca˜nones, formando un haz realista, y darle la forma deseada. particleGun1 = new G4ParticleGun(n_particle ); particleGun2 = new G4ParticleGun(n_particle ); particleGun3 = new G4ParticleGun(n_particle ); particleGun4 = new G4ParticleGun(n_particle ); particleGun5 = new G4ParticleGun(n_particle ); particleGun6 = new G4ParticleGun(n_particle ); particleGun7 = new G4ParticleGun(n_particle ); particleGun8 = new G4ParticleGun(n_particle ); G4double particleEnergy= 100.* MeV ;
  • 11. absorbedor de agua -------------------- End of Run ---------------------- mean Energy in Absorber : 5.6 GeV +- 0 eV mean Energy in Gap : 1.16722 e-14 eV +- 0 eV mean trackLength in Absorber : 3.28114 m +- 0 fm mean trackLength in Gap : 80 m +- 0 fm ----------------------------------------------------
  • 12. campos ▲ Geant4 permite el uso de campos el´ectricos y magn´eticos, de cualquier forma e intensidad. ▲ En particular, podemos usar campos Magn´eticos uniformes y cuadrupolares, pero tambi´en podemos definir los nuestros propios.
  • 13. steerer G4FieldManager* fieldMgr = G4TransportationManager :: GetTransportationManager ()-> GetFieldManager(); magField = new G4UniformMagField( G4ThreeVector(0., fieldValue , 0.) ); fieldMgr -> SetDetectorField(magField ); fieldMgr -> CreateChordFinder(magField );
  • 14. steerer, haz de He3 y protones G4ParticleDefinition * particle = particleTable ->FindParticle(particleName="He3 "); G4ParticleDefinition * particle2 = particleTable ->FindParticle(particleName2=" proton "); En este haz el campo separa los iones seg´un: Bρ = √ 2mE Z|e|
  • 15. cuadrupolo G4RotationMatrix* Rot = new G4RotationMatrix; QuadmagField = new G4QuadrupoleMagField (pGradient , G4ThreeVector(0.,0., trip_Z ), Rot );
  • 16. alcance ▲ Geant4 se puede usar para simular cualquier sistema de haces por complejo que sea, la ´unica limitaci´on es el poder de calculo de maquina. ▲ Ejemplos: El LHC y terapia con iones de 12 C [Satoru et Al. (2012)]. ▲ El tiempo de calculo, depende de la cantidad de elementos y del tama˜no del sistema.
  • 17. l´ınea AMS/TANDAR Sin lugar a dudas la herramienta es id´onea para resolver todos los problemas de inter´es relativos al TANDAR (enfoque, cuadupolos, etc). En la l´ınea AMS, hay que tener en cuenta las siguientes particularidades: ▲ La l´ınea consta de 2 cuadrupolos tripletes y 2 steerers. ▲ Su largo de es de aprox. 20 m. ▲ El haz compuesto no esta formado por haces paralelos, sino que al provenir de un enfoque previo, tiene una divergencia. ▲ eventualmente habr´a un filtro de Wien. Todas las cuales pueden ser perfectamente tratados con G4.