Commit f31dae40 authored by Alex Ciabattoni's avatar Alex Ciabattoni
Browse files

Geometry COSI updates

parent 8ff127bc
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -662,7 +662,7 @@ void MaterialsDefinition::DefineMaterials() {
    wood->AddElement(elC , 2);

    // wood2 (denser)
    wood2 = new G4Material(name="wood", density=1.1*g/cm3, ncomponents=3);
    wood2 = new G4Material(name="wood", density=0.9*g/cm3, ncomponents=3);
    wood2->AddElement(elH , 4);
    wood2->AddElement(elO , 1);
    wood2->AddElement(elC , 2);
+42 −0
Original line number Diff line number Diff line
@@ -7262,6 +7262,48 @@ G4VPhysicalVolume* GeometryCOSI_ACS::ConstructGeometry(G4VPhysicalVolume* World_
            if (table_sens == 1)
                gm.AddXYZDetector(log_table);
            if (is_floor == 1) {
                G4int floor_copy = 150;
                
                G4double floorX = chamber_side;
                G4double floorY = chamber_side;
                G4double floorZ = 100.;
                G4double floor_posX = table_posX;
                G4double floor_posY = table_posY;
                G4double floor_posZ = table_posZ - 1000.;
                G4Box* solid_floor = new G4Box("solid_floor", floorX/2., floorY/2., floorZ/2.);
                G4LogicalVolume* log_floor = new G4LogicalVolume(solid_floor, coll_mat, "log_floor");
                G4VPhysicalVolume* phys_floor = new G4PVPlacement(0, G4ThreeVector(floor_posX, floor_posY, floor_posZ), log_floor, "floor", log_chamber, false, floor_copy, true);
                G4VisAttributes* VisFloor = new G4VisAttributes(G4Colour::Black());
                log_floor->SetVisAttributes(VisFloor);
                if (floor_sens == 1)
                    gm.AddXYZDetector(log_floor);   
                G4int ceiling_copy = 151;
                
                G4double ceilingX = floorX;
                G4double ceilingY = floorY;
                G4double ceilingZ = floorZ;
                G4double ceiling_posX = table_posX;
                G4double ceiling_posY = table_posY;
                G4double ceiling_posZ = chamber_side/2 - ceilingZ/2.;
                G4Box* solid_ceiling = new G4Box("solid_ceiling", ceilingX/2., ceilingY/2., ceilingZ/2.);
                G4LogicalVolume* log_ceiling = new G4LogicalVolume(solid_ceiling, coll_mat, "log_ceiling");
                G4VPhysicalVolume* phys_ceiling = new G4PVPlacement(0, G4ThreeVector(ceiling_posX, ceiling_posY, ceiling_posZ), log_ceiling, "ceiling", log_chamber, false, ceiling_copy, true);
                G4VisAttributes* VisCeiling = new G4VisAttributes(G4Colour::Black());
                log_ceiling->SetVisAttributes(VisCeiling);
                if (floor_sens == 1)
                    gm.AddXYZDetector(log_ceiling);   
            }
            /* Black coat */
            G4int coat_copy = 35;