30.9.2010 Kamil Sedlak

- added special geometry of GPDmHolder for the m-counter light guide at GPD
  - added specail case of 3DBQuadVrankovic field map for the quadrupoles
    (format defined by Vjeran Vrankovic)
This commit is contained in:
2010-09-30 12:24:55 +00:00
parent 1fe6cd7a2f
commit 751641e166
2 changed files with 49 additions and 5 deletions

View File

@ -397,6 +397,21 @@ G4VPhysicalVolume* musrDetectorConstruction::Construct() {
G4ThreeVector zTransA5(0,0,111.25*mm);
solid = new G4SubtractionSolid(solidName, solidA123, solidGPDBoxA5, yRotA12, zTransA5);
}
else if (strcmp(tmpString2,"GPDmHolder")==0){
// Light guide that holds m0 in its position
sscanf(&line[0],"%*s %*s %*s %s %g %g %g %s %g %g %g %s %s",
name,&x1,&x2,&x3,material,&posx,&posy,&posz,mothersName,rotMatrix);
sscanf(&line[0],"%*s %*s %*s %*s %*g %*g %*g %*s %*g %*g %*g %*s %*s %s %d",sensitiveDet,&volumeID);
solidName+=name;
G4Box* solidGPDcutOut = new G4Box ("solidGPDcutOut",x1*mm,x1*mm,(x3+0.01)*mm);
G4Box* solidGPDmHolder = new G4Box ("solidGPDmHolder",sqrt(2)*x1*mm,x2*mm,x3*mm);
// G4RotationMatrix* rot = new G4RotationMatrix(45*deg,0,0);
G4RotationMatrix* rot = new G4RotationMatrix(G4ThreeVector(0,0,1),45*deg);
// G4RotationMatrix* rot = new G4RotationMatrix();
G4ThreeVector trans(0,x2*mm,0);
solid = new G4SubtractionSolid(solidName,solidGPDmHolder,solidGPDcutOut,rot,trans);
// solid = new G4SubtractionSolid(solidName,solidGPDcutOut,solidGPDmHolder,rot,trans);
}
else ReportGeometryProblem(line);