diff --git a/src/B1DetectorConstruction.cc b/src/B1DetectorConstruction.cc index 287eae65325648ac4fb9a20a51e8662482d8e44b..04e3be92f9ac50c78b1de8b9a4b72a81beadd119 100644 --- a/src/B1DetectorConstruction.cc +++ b/src/B1DetectorConstruction.cc @@ -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 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