Skip to content
Snippets Groups Projects
Commit 76b6bd83 authored by matta's avatar matta
Browse files

* Fixing geometry for Sharc (no PAD case)

parent 3055f6bc
No related branches found
No related tags found
No related merge requests found
...@@ -71,15 +71,17 @@ namespace SHARC ...@@ -71,15 +71,17 @@ namespace SHARC
const G4int BOX_Wafer_Back_NumberOfStrip = 16 ; const G4int BOX_Wafer_Back_NumberOfStrip = 16 ;
// Compute // Compute
const G4double BOX_Exposed_Length1 = BOX_Wafer_Length + BOX_PCB_Slot1_Border +0.5*BOX_PCB_Slot1_Width; const G4double BOX_LeftOver = BOX_PCB_Length - BOX_PCB_Border_ShortSide - BOX_Wafer_Length - BOX_PCB_Slot1_Border - BOX_PCB_Slot1_Width ;
const G4double BOX_CenterOffset1 = 0.5* (BOX_PCB_Length-BOX_Exposed_Length1-BOX_PCB_Border_ShortSide); const G4double BOX_Exposed_Length1 = BOX_Wafer_Length + BOX_PCB_Slot1_Border ;
const G4double BOX_Wafer_Width_Offset = const G4double BOX_CenterOffset1 = - 0.5 * BOX_PCB_Length+BOX_PCB_Border_ShortSide+0.5*BOX_Exposed_Length1;
BOX_PCB_Width*0.5 - BOX_PCB_Border_LongSide - BOX_Wafer_Width*0.5; const G4double BOX_DetectorSpacing = 0.5*BOX_Exposed_Length1+0.5*BOX_PCB_Slot1_Width;
const G4double BOX_Wafer_Length_Offset = BOX_CenterOffset1;
const G4double BOX_PCB_Slot1_Position = (BOX_PCB_Slot1_Border+0.5*BOX_PCB_Slot1_Width+0.5*BOX_Wafer_Length-BOX_CenterOffset1); const G4double BOX_Wafer_Width_Offset = -0.5*BOX_PCB_Width + BOX_PCB_Border_LongSide + 0.5*BOX_Wafer_Width;
const G4double BOX_Wafer_Length_Offset = -0.5*BOX_PCB_Length + BOX_PCB_Border_ShortSide + 0.5*BOX_Wafer_Length;
const G4double BOX_PCB_Slot1_Position = 0.5*BOX_PCB_Length-BOX_LeftOver - 0.5*BOX_PCB_Slot1_Width;
// PAD // // PAD //
// PAD PCB // PAD PCB
const G4double PAD_PCB_Width = 61.10*mm; const G4double PAD_PCB_Width = 61.10*mm;
...@@ -94,10 +96,8 @@ namespace SHARC ...@@ -94,10 +96,8 @@ namespace SHARC
const G4double PAD_Wafer_DeadLayer_Thickness = 0.1*um; const G4double PAD_Wafer_DeadLayer_Thickness = 0.1*um;
// Compute // Compute
const G4double PAD_Wafer_Width_Offset = const G4double PAD_Wafer_Width_Offset = PAD_PCB_Width/2. - PAD_PCB_Border_LongSide - PAD_Wafer_Width/2.;
PAD_PCB_Width/2. - PAD_PCB_Border_LongSide - PAD_Wafer_Width/2.; const G4double PAD_Wafer_Length_Offset = PAD_PCB_Length/2. - PAD_PCB_Border_ShortSide - PAD_Wafer_Length/2.;
const G4double PAD_Wafer_Length_Offset =
PAD_PCB_Length/2. - PAD_PCB_Border_ShortSide - PAD_Wafer_Length/2.;
// Double stage box case (DSSD+PAD) // Double stage box case (DSSD+PAD)
const G4double BOX_PCB_Slot2_Width = BOX_PCB_Thickness+PAD_PCB_Thickness; const G4double BOX_PCB_Slot2_Width = BOX_PCB_Thickness+PAD_PCB_Thickness;
const G4double BOX_PCB_Slot2_Border = 2.7*mm; const G4double BOX_PCB_Slot2_Border = 2.7*mm;
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
* Last update : * * Last update : *
*---------------------------------------------------------------------------* *---------------------------------------------------------------------------*
* Decription: * * Decription: *
* This class describe the SHarc Silicon array * * This class describe the Sharc Silicon array *
* * * *
*---------------------------------------------------------------------------* *---------------------------------------------------------------------------*
* Comment: * * Comment: *
...@@ -378,7 +378,7 @@ void Sharc::ConstructBOXDetector(G4LogicalVolume* world){ ...@@ -378,7 +378,7 @@ void Sharc::ConstructBOXDetector(G4LogicalVolume* world){
G4ThreeVector Box_Wafer_Offset = G4ThreeVector Box_Wafer_Offset =
G4ThreeVector(BOX_Wafer_Length_Offset, BOX_Wafer_Width_Offset,0 ); G4ThreeVector(BOX_Wafer_Length_Offset, BOX_Wafer_Width_Offset,0 );
G4SubtractionSolid* PCB1 = new G4SubtractionSolid("PCB", PCBFull, SlotShape,new G4RotationMatrix,G4ThreeVector(-BOX_PCB_Slot_Position, 0,0.5*BOX_PCB_Thickness)); G4SubtractionSolid* PCB1 = new G4SubtractionSolid("PCB", PCBFull, SlotShape,new G4RotationMatrix,G4ThreeVector(BOX_PCB_Slot_Position, 0,0.5*BOX_PCB_Thickness));
G4SubtractionSolid* PCB = new G4SubtractionSolid("PCB", PCB1, WaferShape,new G4RotationMatrix,Box_Wafer_Offset); G4SubtractionSolid* PCB = new G4SubtractionSolid("PCB", PCB1, WaferShape,new G4RotationMatrix,Box_Wafer_Offset);
...@@ -469,7 +469,7 @@ void Sharc::ConstructBOXDetector(G4LogicalVolume* world){ ...@@ -469,7 +469,7 @@ void Sharc::ConstructBOXDetector(G4LogicalVolume* world){
// Distance of the PCB to the target // Distance of the PCB to the target
G4ThreeVector DetectorSpacing = G4ThreeVector DetectorSpacing =
-G4ThreeVector(0, 0,BOX_Exposed_Length1*0.5); -G4ThreeVector(0, 0,BOX_DetectorSpacing);
// If a PAD is present, DSSD is not in the center of the Slot: // If a PAD is present, DSSD is not in the center of the Slot:
G4ThreeVector PAD_OFFSET=-G4ThreeVector(0.5*PAD_PCB_Thickness,0,0); G4ThreeVector PAD_OFFSET=-G4ThreeVector(0.5*PAD_PCB_Thickness,0,0);
......
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