Skip to content
Snippets Groups Projects
Commit 7e9ec45d authored by audrey.chatillon's avatar audrey.chatillon
Browse files

[Epic] add the windows to the fission chamber

parent b9d4eefa
No related branches found
No related tags found
1 merge request!27Draft: [Epic] Preparation of the environement for the new GaseousDetectorScorers...
Pipeline #378486 passed
...@@ -61,16 +61,13 @@ namespace Epic_NS{ ...@@ -61,16 +61,13 @@ namespace Epic_NS{
const double EnergyThreshold = 0.1*MeV; const double EnergyThreshold = 0.1*MeV;
const double ResoTime = 4.5*ns ; const double ResoTime = 4.5*ns ;
const double ResoEnergy = 1.0*MeV ; const double ResoEnergy = 1.0*MeV ;
const double Radius = 50*mm ;
const double Width = 100*mm ;
const double Thickness = 300*mm ;
const string Material = "BC400";
// Fission Chamber // Fission Chamber
const double Cu_Thickness = 17*micrometer; const double Cu_Thickness = 17*micrometer;
// const double Al_Thickness = 12*micrometer;
const double Kapton_Thickness = 50*micrometer; const double Kapton_Thickness = 50*micrometer;
} }
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
...@@ -86,7 +83,6 @@ Epic::Epic(){ ...@@ -86,7 +83,6 @@ Epic::Epic(){
m_VisTi = new G4VisAttributes(G4Colour(0.776,0.662,0.662,0.5)); m_VisTi = new G4VisAttributes(G4Colour(0.776,0.662,0.662,0.5));
m_VisGasAK = new G4VisAttributes(G4Colour(0.576,0.662,0.662,0.3)); m_VisGasAK = new G4VisAttributes(G4Colour(0.576,0.662,0.662,0.3));
m_VisGasKK = new G4VisAttributes(G4Colour(0.576,0.662,0.662,0.5)); m_VisGasKK = new G4VisAttributes(G4Colour(0.576,0.662,0.662,0.5));
m_VisGas = new G4VisAttributes(G4Colour(0.576,0.662,0.662,0.1));
m_VisCu = new G4VisAttributes(G4Colour(0.70, 0.40, 0. ,1)); m_VisCu = new G4VisAttributes(G4Colour(0.70, 0.40, 0. ,1));
m_VisRogers4003C = new G4VisAttributes(G4Colour(0.60, 0.60, 0.2 ,1)); m_VisRogers4003C = new G4VisAttributes(G4Colour(0.60, 0.60, 0.2 ,1));
...@@ -243,13 +239,13 @@ G4AssemblyVolume* Epic::BuildEpic(){ ...@@ -243,13 +239,13 @@ G4AssemblyVolume* Epic::BuildEpic(){
// --- FRAME IN ALUMINIUM // --- FRAME IN ALUMINIUM
double frame_foot_full_width = flange_full_width; double frame_foot_full_width = flange_full_width;
double frame_foot_full_length = flange_full_length; double frame_foot_full_length = flange_full_length;
double frame_foot_full_height = flange_full_height; double posY_frame_foot = posY_PCB + 0.5*PCB_Cu_height + PCB_Rogers_height + 0.5*frame_foot_full_height ; double frame_foot_full_height = 2.*mm; double posY_frame_foot = posY_PCB + 0.5*PCB_Cu_height + PCB_Rogers_height + 0.5*frame_foot_full_height ;
double frame_foot_open_width = flange_full_width - 2.*13.*mm; double frame_foot_open_width = flange_full_width - 2.*13.*mm;
double frame_foot_open_length = flange_full_length - 2.*13.*mm; double frame_foot_open_length = flange_full_length - 2.*13.*mm;
double frame_foot_open_height = flange_open_height; double frame_foot_open_height = flange_open_height;
G4Box* frame_foot_full = new G4Box("frame_foot_full", 0.5*frame_foot_full_width, 0.5*frame_foot_full_height, 0.5*frame_foot_full_length); G4Box* frame_foot_full = new G4Box("frame_foot_full", 0.5*frame_foot_full_width, 0.5*frame_foot_full_height, 0.5*frame_foot_full_length);
G4Box* frame_foot_open = new G4Box("frame_foot_open", 0.5*frame_foot_open_width, 0.5*frame_foot_open_height, 0.5*frame_foot_open_length); G4Box* frame_foot_open = new G4Box("frame_foot_open", 0.5*frame_foot_open_width, 0.5*frame_foot_open_height, 0.5*frame_foot_open_length);
G4VSolid* frame_foot = (G4VSolid*) new G4SubtractionSolid("frame_int1",frame_foot_full,frame_foot_open,0,G4ThreeVector(0,0,0)); G4VSolid* frame_foot = (G4VSolid*) new G4SubtractionSolid("frame_int1",frame_foot_full,frame_foot_open,0,G4ThreeVector(0,0,0));
...@@ -292,6 +288,41 @@ G4AssemblyVolume* Epic::BuildEpic(){ ...@@ -292,6 +288,41 @@ G4AssemblyVolume* Epic::BuildEpic(){
//--- TITANE WINDOWS (TO DO) //--- TITANE WINDOWS (TO DO)
double window_front_width = 142.0*mm;
double window_front_length = 0.1*mm;
double window_front_height = 150.0*mm;
G4Box* window_front = new G4Box("window_front", 0.5*window_front_width, 0.5*window_front_height, 0.5*window_front_length);
G4LogicalVolume* window_front_vol = new G4LogicalVolume(window_front, Ti_material,"window_front_logic",0,0,0);
window_front_vol->SetVisAttributes(m_VisTi);
Tv.setY(posY_frame);
Tv.setZ(-0.5*frame_open_length*mm);
m_EpicVolume->AddPlacedVolume(window_front_vol, Tv, Rv);
Tv.setZ(0.5*frame_open_length*mm);
m_EpicVolume->AddPlacedVolume(window_front_vol, Tv, Rv);
double window_side_width = 0.1*mm;
double window_side_length = 290.0*mm;
double window_side_height = 150.0*mm;
G4Box* window_side = new G4Box("window_side", 0.5*window_side_width, 0.5*window_side_height, 0.5*window_side_length);
G4LogicalVolume* window_side_vol = new G4LogicalVolume(window_side, Ti_material,"window_side_logic",0,0,0);
window_side_vol->SetVisAttributes(m_VisTi);
Tv.setX(0.5*frame_open_width*mm);
Tv.setZ(0);
m_EpicVolume->AddPlacedVolume(window_side_vol, Tv, Rv);
Tv.setX(-0.5*frame_open_width*mm);
m_EpicVolume->AddPlacedVolume(window_side_vol, Tv, Rv);
double window_top_width = 142.0*mm;
double window_top_length = 290.0*mm;
double window_top_height = 0.1*mm;
G4Box* window_top = new G4Box("window_top", 0.5*window_top_width, 0.5*window_top_height, 0.5*window_top_length);
G4LogicalVolume* window_top_vol = new G4LogicalVolume(window_top, Ti_material,"window_top_logic",0,0,0);
window_top_vol->SetVisAttributes(m_VisTi);
Tv.setX(0);
Tv.setY(posY_frame + 0.5*frame_full_height - 2.*mm);
Tv.setZ(0);
m_EpicVolume->AddPlacedVolume(window_top_vol, Tv, Rv);
//--- CENTRAL PART OF THE FISSION CHAMBER //--- CENTRAL PART OF THE FISSION CHAMBER
// - Cathodes (TO DO : rajouter les depots) // - Cathodes (TO DO : rajouter les depots)
...@@ -321,16 +352,8 @@ G4AssemblyVolume* Epic::BuildEpic(){ ...@@ -321,16 +352,8 @@ G4AssemblyVolume* Epic::BuildEpic(){
BuildCathode(posZ_first_cathode + (double)m_nA*2.*m_Distance_AK*mm + (double)(m_nA-1)*m_InterDistance_KK*mm); BuildCathode(posZ_first_cathode + (double)m_nA*2.*m_Distance_AK*mm + (double)(m_nA-1)*m_InterDistance_KK*mm);
// --- UNACTIVE GAS VOLUME // --- UNACTIVE GAS VOLUME TO DO ?
/* /*
m_EpicVolume = new G4AssemblyVolume();
G4RotationMatrix *Rv=new G4RotationMatrix(0,0,0);
G4ThreeVector Tv;
Tv.setX(0); Tv.setY(0); Tv.setZ(0);
// Gas Volume // // Gas Volume //
double gas_height = 15.8*cm; double gas_height = 15.8*cm;
double gas_width = 14.8*cm; double gas_width = 14.8*cm;
...@@ -338,96 +361,13 @@ G4AssemblyVolume* Epic::BuildEpic(){ ...@@ -338,96 +361,13 @@ G4AssemblyVolume* Epic::BuildEpic(){
G4Box* gas_solid = new G4Box("Gas_solid", 0.5*gas_width, 0.5*gas_height, 0.5*gas_length); G4Box* gas_solid = new G4Box("Gas_solid", 0.5*gas_width, 0.5*gas_height, 0.5*gas_length);
G4LogicalVolume* gas_volume = new G4LogicalVolume(gas_solid, gas_material, "gas_logic", 0, 0, 0); G4LogicalVolume* gas_volume = new G4LogicalVolume(gas_solid, gas_material, "gas_logic", 0, 0, 0);
gas_volume->SetSensitiveDetector(m_EpicScorer); //gas_volume->SetSensitiveDetector(m_EpicScorer);
//m_VisGas->SetForceWireframe(true); //m_VisGas->SetForceWireframe(true);
gas_volume->SetVisAttributes(m_VisGas); gas_volume->SetVisAttributes(m_VisGas);
m_EpicVolume->AddPlacedVolume(gas_volume, Tv, Rv); m_EpicVolume->AddPlacedVolume(gas_volume, Tv, Rv);
// Al frame //
double frame1_width = 18.*cm;
double frame1_height = 5.*mm;
double frame1_length = 33.*cm;
double frame2_width = 15.2*cm;
double frame2_height = 5.1*mm;
double frame2_length = 30.2*cm;
G4Box* frame1 = new G4Box("frame1", 0.5*frame1_width, 0.5*frame1_height, 0.5*frame1_length);
G4Box* frame2 = new G4Box("frame2", 0.5*frame2_width, 0.5*frame2_height, 0.5*frame2_length);
G4VSolid* Al_frame = (G4VSolid*) new G4SubtractionSolid("Al_frame",frame1,frame2,0,G4ThreeVector(0,0,0));
G4Material* Al_material = MaterialManager::getInstance()->GetMaterialFromLibrary("Al");
G4LogicalVolume* Al_frame_vol = new G4LogicalVolume(Al_frame,Al_material,"Al_frame_logic",0,0,0);
Al_frame_vol->SetVisAttributes(m_VisAl);
Tv.setY(PCB_PosY+ 0.5*PCB_Cu_height + PCB_Rogers_height + 0.5*frame1_height);
m_EpicVolume->AddPlacedVolume(Al_frame_vol, Tv, Rv);
Tv.setY(PCB_PosY- 0.5*PCB_Cu_height - 0.5*frame1_height);
m_EpicVolume->AddPlacedVolume(Al_frame_vol, Tv, Rv);
double box1_width = 15.*cm;
double box1_height = 16.*cm;
double box1_length = 30.*cm;
double box2_width = 14.8*cm;
double box2_height = 15.8*cm;
double box2_length = 29.8*cm;
double box3_width = 12.5*cm;
double box3_height = 11.7*cm;
double box3_length = 30.1*cm;
double box4_width = 15.1*cm;
double box4_height = 11.8*cm;
double box4_length = 27.4*cm;
double box5_width = 12.4*cm;
double box5_height = 16.1*cm;
double box5_length = 27.4*cm;
G4Box* box1 = new G4Box("box1", 0.5*box1_width, 0.5*box1_height, 0.5*box1_length);
G4Box* box2 = new G4Box("box2", 0.5*box2_width, 0.5*box2_height, 0.5*box2_length);
G4Box* box3 = new G4Box("box3", 0.5*box3_width, 0.5*box3_height, 0.5*box3_length);
G4Box* box4 = new G4Box("box4", 0.5*box4_width, 0.5*box4_height, 0.5*box4_length);
G4Box* box5 = new G4Box("box5", 0.5*box5_width, 0.5*box5_height, 0.5*box5_length);
G4VSolid* box_int1 = (G4VSolid*) new G4SubtractionSolid("box_int1",box1,box2,0,G4ThreeVector(0,0,0));
G4VSolid* box_int2 = (G4VSolid*) new G4SubtractionSolid("box_int2",box_int1,box3,0,G4ThreeVector(0,0,0));
G4VSolid* box_int3 = (G4VSolid*) new G4SubtractionSolid("box_int3",box_int2,box4,0,G4ThreeVector(0,0,0));
G4VSolid* box_int4 = (G4VSolid*) new G4SubtractionSolid("box_int4",box_int3,box5,0,G4ThreeVector(0,0,0));
G4LogicalVolume* full_box_vol = new G4LogicalVolume(box_int4, Al_material, "full_box_logic", 0,0,0);
full_box_vol->SetVisAttributes(m_VisAl);
Tv.setY(0);
m_EpicVolume->AddPlacedVolume(full_box_vol, Tv, Rv);
// Ti foils //
double foil1_width = 13*cm;
double foil1_length = 29*cm;
double foil1_thickness = 100*um;
double foil2_width = 13*cm;
double foil2_height = 14*cm;
double foil2_thickness = 50*um;
G4Material* Ti_material = MaterialManager::getInstance()->GetMaterialFromLibrary("Ti");
G4Box* foil1_solid = new G4Box("foil1", 0.5*foil1_width, 0.5*foil1_thickness, 0.5*foil1_length);
G4LogicalVolume* foil1_vol = new G4LogicalVolume(foil1_solid, Ti_material, "foil1_logic", 0, 0, 0);
foil1_vol->SetVisAttributes(m_VisTi);
Tv.setY(0.5*box2_height);
m_EpicVolume->AddPlacedVolume(foil1_vol, Tv, Rv);
Tv.setY(0);
Tv.setX(-0.5*box2_width);
Rv->rotateZ(90*deg);
m_EpicVolume->AddPlacedVolume(foil1_vol, Tv, Rv);
Tv.setX(0.5*box2_width);
m_EpicVolume->AddPlacedVolume(foil1_vol, Tv, Rv);
G4Box* foil2_solid = new G4Box("foil2", 0.5*foil2_width, 0.5*foil2_height, 0.5*foil2_thickness);
G4LogicalVolume* foil2_vol = new G4LogicalVolume(foil2_solid, Ti_material, "foil2_logic", 0, 0, 0);
foil2_vol->SetVisAttributes(m_VisTi);
Tv.setX(0);Tv.setY(0);Tv.setZ(-0.5*box2_length);
m_EpicVolume->AddPlacedVolume(foil2_vol, Tv, Rv);
Tv.setZ(0.5*box2_length);
m_EpicVolume->AddPlacedVolume(foil2_vol, Tv, Rv);
*/ */
return m_EpicVolume; return m_EpicVolume;
} }
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
......
...@@ -113,7 +113,6 @@ class Epic : public NPS::VDetector{ ...@@ -113,7 +113,6 @@ class Epic : public NPS::VDetector{
G4VisAttributes* m_VisCu; G4VisAttributes* m_VisCu;
G4VisAttributes* m_VisGasAK; G4VisAttributes* m_VisGasAK;
G4VisAttributes* m_VisGasKK; G4VisAttributes* m_VisGasKK;
G4VisAttributes* m_VisGas;
G4VisAttributes* m_VisTi; G4VisAttributes* m_VisTi;
G4VisAttributes* m_VisRogers4003C; G4VisAttributes* m_VisRogers4003C;
......
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Alias SamplesMaterial
Action= Copy
Value= 238U 238U 235U 235U 238U 238U 235U 235U 238U 238U
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Epic Epic
POS= 0 0 0 mm POS= 0 0 0 mm
GasMaterial= CF4 GasMaterial= CF4
...@@ -10,4 +6,3 @@ Epic ...@@ -10,4 +6,3 @@ Epic
nAnodes= 5 nAnodes= 5
Distance_AK= 2.5 mm Distance_AK= 2.5 mm
InterDistance_KK= 0.8 mm InterDistance_KK= 0.8 mm
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment