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

PCB in BuildEpic (identical to what is done in FissionChamber)

parent 0cf66133
No related branches found
No related tags found
1 merge request!27Draft: [Epic] Preparation of the environement for the new GaseousDetectorScorers...
Pipeline #376923 passed
......@@ -187,12 +187,34 @@ G4AssemblyVolume* Epic::BuildEpic(){
G4Material* Al_material = MaterialManager::getInstance()->GetMaterialFromLibrary("Al");
G4Material* Cu_material = MaterialManager::getInstance()->GetMaterialFromLibrary("Cu");
G4Material* Ti_material = MaterialManager::getInstance()->GetMaterialFromLibrary("Ti");
G4Material* Rogers_material = MaterialManager::getInstance()->GetMaterialFromLibrary("Rogers4003C");
// --- PCB material (6 layers of Cu)
double posY_PCB = -85.0*mm; // @the 6-Cu layers
double PCB_width = 180.0*mm;
double PCB_length = 330.0*mm;
double PCB_Rogers_height = 1.6*mm;
double PCB_Cu_height = 6*35.*um;
G4Box* PCB_Rogers_solid = new G4Box("PCB_Rogers",0.5*PCB_width,0.5*PCB_Rogers_height,0.5*PCB_length);
G4Box* PCB_Cu_solid = new G4Box("PCB_Cu",0.5*PCB_width,0.5*PCB_Cu_height,0.5*PCB_length);
G4LogicalVolume* PCB_Rogers_vol = new G4LogicalVolume(PCB_Rogers_solid, Rogers_material,"PCB_Rogers_logic",0,0,0);
G4LogicalVolume* PCB_Cu_vol = new G4LogicalVolume(PCB_Cu_solid, Cu_material,"PCB_Cu_logic",0,0,0);
PCB_Rogers_vol->SetVisAttributes(m_VisRogers4003C);
Tv.setY(posY_PCB + 0.5*PCB_Cu_height + 0.5*PCB_Rogers_height);
m_EpicVolume->AddPlacedVolume(PCB_Rogers_vol, Tv, Rv);
PCB_Cu_vol->SetVisAttributes(m_VisCu);
Tv.setY(posY_PCB);
m_EpicVolume->AddPlacedVolume(PCB_Cu_vol, Tv, Rv);
// --- Flange in Aluminium
double flange_full_width = 180.*mm;
double flange_full_height = 5.*mm;
double flange_full_length = 330.*mm;
double flange_full_width = PCB_width;
double flange_full_length = PCB_length;
double flange_full_height = 5.*mm; double posY_flange = posY_PCB - 0.5*PCB_Cu_height - 0.5*flange_full_height ;
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;
......@@ -210,7 +232,7 @@ G4AssemblyVolume* Epic::BuildEpic(){
G4LogicalVolume* flange_vol = new G4LogicalVolume(flange_final, Al_material, "flange_logic", 0,0,0);
flange_vol->SetVisAttributes(m_VisAl);
Tv.setY(0);
Tv.setY(posY_flange);
m_EpicVolume->AddPlacedVolume(flange_vol, Tv, Rv);
......@@ -237,27 +259,6 @@ G4AssemblyVolume* Epic::BuildEpic(){
m_EpicVolume->AddPlacedVolume(gas_volume, Tv, Rv);
// Bottom PCB plate //
double PCB_width = 18.*cm;
double PCB_length = 33.*cm;
double PCB_Rogers_height = 1.6*mm;
double PCB_Cu_height = 6*35.*um;
double PCB_PosY = -8.5*cm;
// Cu layers
G4Box* PCB_Cu_solid = new G4Box("PCB_Cu_solid",0.5*PCB_width,0.5*PCB_Cu_height,0.5*PCB_length);
G4Material* Cu_material = MaterialManager::getInstance()->GetMaterialFromLibrary("Cu");
G4LogicalVolume* PCB_Cu_vol = new G4LogicalVolume(PCB_Cu_solid, Cu_material,"PCB_Cu_logic",0,0,0);
PCB_Cu_vol->SetVisAttributes(m_VisCu);
Tv.setY(PCB_PosY);
m_EpicVolume->AddPlacedVolume(PCB_Cu_vol, Tv, Rv);
// Rogers 4003C layers
G4Box* PCB_Rogers_solid = new G4Box("PCB_Rogers_solid",0.5*PCB_width,0.5*PCB_Rogers_height,0.5*PCB_length);
G4Material* Rogers_material = MaterialManager::getInstance()->GetMaterialFromLibrary("Rogers4003C");
G4LogicalVolume* PCB_Rogers_vol = new G4LogicalVolume(PCB_Rogers_solid, Rogers_material,"PCB_Rogers_logic",0,0,0);
PCB_Rogers_vol->SetVisAttributes(m_VisRogers4003C);
Tv.setY(PCB_PosY + 0.5*PCB_Cu_height + 0.5*PCB_Rogers_height);
m_EpicVolume->AddPlacedVolume(PCB_Rogers_vol, Tv, Rv);
// Al frame //
double frame1_width = 18.*cm;
......
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