310 words
2 minutes
Instalacion Root y Geant4 en Entorno Conda

Instalacion Root y Geant4 en Entorno Conda#

Requisitos#

  • Ubuntu 20.04 o superior
  • Conexión a Internet
  • Terminal (Ctrl + Alt + T)

Paso 1: Instalar Anaconda en Ubuntu#

1.1 Descargar Anaconda (versión estable)#

Terminal window
cd ~/Downloads
wget https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-x86_64.sh

1.2 Ejecutar el instalador#

Terminal window
bash Anaconda3-2024.02-1-Linux-x86_64.sh

Presiona Enter para aceptar la licencia, y responde yes cuando pregunte si quieres modificar .bashrc.

1.3 Activar conda#

Después de la instalación:

Terminal window
source ~/.bashrc

Verifica:

Terminal window
conda --version

Paso 2: Crear un entorno para ROOT y Geant4#

2.1 Establecer prioridad de canales#

Terminal window
conda config --set channel_priority strict

2.2 Crear el entorno#

Terminal window
conda create -n geant-root-env -c conda-forge root

2.3 Activarlo#

Terminal window
conda activate geant-root-env

Paso 3: Instalar Geant4 desde Conda#

Con el entorno activo:

Terminal window
conda install -c conda-forge geant4

Verificar que funciona#

Ver ROOT#

Terminal window
root

Debe mostrar la bienvenida de ROOT. Sal con .q o Ctrl+D.

Ver Geant4#

Terminal window
geant4-config --version

Debe mostrar 11.3.2 u otra versión reciente.


Paso 4: Probar visualización en Geant4#

4.1 Código de ejemplo (main.cc)#

Crea un archivo main.cc con el siguiente contenido:

#include "G4RunManager.hh"
#include "G4UImanager.hh"
#include "G4NistManager.hh"
#include "G4Box.hh"
#include "G4LogicalVolume.hh"
#include "G4PVPlacement.hh"
#include "G4SystemOfUnits.hh"
#include "G4VUserDetectorConstruction.hh"
#include "FTFP_BERT.hh"
#include "G4UIExecutive.hh"
#include "G4VisExecutive.hh"
class MyDetectorConstruction : public G4VUserDetectorConstruction {
public:
G4VPhysicalVolume* Construct() override {
G4NistManager* nist = G4NistManager::Instance();
G4Material* air = nist->FindOrBuildMaterial("G4_AIR");
G4Box* solidWorld = new G4Box("World", 1.*m, 1.*m, 1.*m);
G4LogicalVolume* logicWorld = new G4LogicalVolume(solidWorld, air, "World");
return new G4PVPlacement(nullptr, {}, logicWorld, "World", nullptr, false, 0, true);
}
};
int main(int argc, char** argv) {
G4UIExecutive* ui = new G4UIExecutive(argc, argv);
auto runManager = new G4RunManager();
runManager->SetUserInitialization(new MyDetectorConstruction());
runManager->SetUserInitialization(new FTFP_BERT());
G4VisManager* visManager = new G4VisExecutive();
visManager->Initialize();
runManager->Initialize();
G4UImanager* UImanager = G4UImanager::GetUIpointer();
UImanager->ApplyCommand("/vis/open OGL");
UImanager->ApplyCommand("/vis/drawVolume");
UImanager->ApplyCommand("/vis/viewer/setViewpointThetaPhi 90 0");
UImanager->ApplyCommand("/vis/scene/add/axes 0 0 0 1 m");
ui->SessionStart();
delete ui;
delete visManager;
delete runManager;
return 0;
}

4.2 Compilar#

Terminal window
g++ main.cc -o testG4 $(geant4-config --cflags --libs) -std=c++17

4.3 Ejecutar#

Terminal window
./testG4

Deberías ver una ventana 3D con el volumen del mundo.


Extras útiles#

Exportar tu entorno Conda a un .yml:#

Terminal window
conda env export > geant-root-env.yml

Y puedes recrearlo así:

Terminal window
conda env create -f geant-root-env.yml

Próximos pasos sugeridos#

  • Añadir partículas con G4ParticleGun
  • Guardar datos con ROOT (TTree, TFile)
  • Explorar pyroot y jupyter notebook
  • Compilar Geant4 de forma externa si necesitas personalización avanzada
Instalacion Root y Geant4 en Entorno Conda
https://jangelmm.github.io/posts/informatica/programacion/geant4/1-instalacion-y-configuracion-de-geant4/instalacion-root-geant/
Author
Jesús Ángel Martínez Mendoza
Published at
2025-10-04
License
CC BY-NC-SA 4.0