starting variable density implementation

parent d2eddf73
......@@ -29,7 +29,7 @@
#include "B1DetectorConstruction.hh"
#include "B1SD.hh"
#include "G4Material.hh"
#include "G4RunManager.hh"
#include "G4NistManager.hh"
#include "G4Box.hh"
......@@ -41,11 +41,13 @@
#include "G4LogicalVolume.hh"
#include "G4PVPlacement.hh"
#include "G4SystemOfUnits.hh"
#include "G4PhysicalConstants.hh"
#include "G4VSensitiveDetector.hh"
#include "G4Track.hh"
#include "G4UniformMagField.hh"
#include "G4FieldManager.hh"
#include "G4TransportationManager.hh"
#include "G4Element.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
......@@ -67,6 +69,30 @@ G4VPhysicalVolume* B1DetectorConstruction::Construct()
// Get nist material manager
G4NistManager* nist = G4NistManager::Instance();
//making air materiais
//Nitrogen
G4double a_N = 14.01*g/mole;
G4String name, symbol;
G4double z;
G4Element* ele_N = new G4Element(name="Nitrogen", symbol="N", z=7., a_N);
//Oxygen
G4double a_o = 16.00*g/mole;
G4Element* ele_O = new G4Element(name="Oxygen", symbol="O", z=8., a_o);
//Argon
G4double a_Ar = 39.948*g/mole;
G4Element* ele_Ar = new G4Element(name="Argon", symbol="Ar", z=18., a_Ar);
G4int num_layers;
G4double altitude = 100*km;
G4double layer_delta_h = num_layers/altitude;
std::vector<G4Material *> layers_material;
layers_material.reserve(num_layers);
for(G4int i = 0; i < num_layers; i++) {
//fazer if clause para verificar valor de delta h progressivamente.
//dependendo do h + delta_h -> parâmetros diferentes.
}
// Option to switch on/off checking of volumes overlaps
//
......@@ -82,7 +108,8 @@ G4VPhysicalVolume* B1DetectorConstruction::Construct()
G4double h = 100*m;
G4double theta_0 = 0.*deg;
G4double theta_f = 360.*deg;
G4Material* world_mat = nist->FindOrBuildMaterial("G4_AIR");
//making world of vacuum
G4Material* world_mat = nist->FindOrBuildMaterial("G4_Galactic");
G4Tubs* cilindro = new G4Tubs("world", raio_i, raio_e, h, theta_0, theta_f);
......@@ -107,6 +134,11 @@ G4VPhysicalVolume* B1DetectorConstruction::Construct()
//
fScoringVolume = logicWorld;
//começar aqui os layers da atmosfera em um for semelhante ao dos detetores, porém grudados e preenchendo todo o cilindro.
G4double safe_distance = 0.02*m;
//Coloque aqui o número de detetores
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment