diff --git a/NPSimulation/Detectors/Epic/Epic.cc b/NPSimulation/Detectors/Epic/Epic.cc index 5ca337c5f7ea6f0afbafe64130caeb8e076efa3d..d47dce43611716adc7f1a6cdbe0511e5c00ada4f 100644 --- a/NPSimulation/Detectors/Epic/Epic.cc +++ b/NPSimulation/Detectors/Epic/Epic.cc @@ -176,7 +176,7 @@ void Epic::ConstructDetector(G4LogicalVolume* world){ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4AssemblyVolume* Epic::BuildEpic(){ - /* + m_EpicVolume = new G4AssemblyVolume(); G4RotationMatrix *Rv=new G4RotationMatrix(0,0,0); @@ -190,17 +190,32 @@ G4AssemblyVolume* Epic::BuildEpic(){ // --- Flange in Aluminium - double flange_width = 180.*mm; - double flange_height = 5.*mm; - double flange_length = 330.*mm; - -*/ - - - + double flange_full_width = 180.*mm; + double flange_full_height = 5.*mm; + double flange_full_length = 330.*mm; + double flange_open_width = 150.0*mm; + double flange_open_height = 5.1*mm; + double flange_open1_length = 42.0*mm; double posZ_open1 = -73.5*mm; + double flange_open2_length = 85.0*mm; double posZ_open2 = 0.0*mm; + double flange_open3_length = 74.5*mm; double posZ_open3 = 89.5*mm; + + G4Box* flange_full = new G4Box("flange_full" , 0.5*flange_full_width , 0.5*flange_full_height, 0.5*flange_full_length); + G4Box* flange_open1 = new G4Box("flange_open1", 0.5*flange_open_width , 0.5*flange_open_height, 0.5*flange_open1_length); + G4Box* flange_open2 = new G4Box("flange_open1", 0.5*flange_open_width , 0.5*flange_open_height, 0.5*flange_open2_length); + G4Box* flange_open3 = new G4Box("flange_open1", 0.5*flange_open_width , 0.5*flange_open_height, 0.5*flange_open3_length); + + G4VSolid* flange_int1 = (G4VSolid*) new G4SubtractionSolid("flange_int1" ,flange_full,flange_open1,0,G4ThreeVector(0,0,posZ_open1)); + G4VSolid* flange_int2 = (G4VSolid*) new G4SubtractionSolid("flange_int2" ,flange_int1,flange_open2,0,G4ThreeVector(0,0,posZ_open2)); + G4VSolid* flange_final = (G4VSolid*) new G4SubtractionSolid("flange_final",flange_int2,flange_open3,0,G4ThreeVector(0,0,posZ_open3)); + + G4LogicalVolume* flange_vol = new G4LogicalVolume(flange_final, Al_material, "flange_logic", 0,0,0); + flange_vol->SetVisAttributes(m_VisAl); + Tv.setY(0); + m_EpicVolume->AddPlacedVolume(flange_vol, Tv, Rv); +/* m_EpicVolume = new G4AssemblyVolume(); @@ -325,7 +340,7 @@ G4AssemblyVolume* Epic::BuildEpic(){ m_EpicVolume->AddPlacedVolume(foil2_vol, Tv, Rv); - +*/