6.10.2011 - Kamil Sedlak

1) Added "tubsbox2" as a new volume in musrDetectorConstruction
  2) Changed the way how the double hits in M-counter and P-counter
     are treated in musrSimAna - this was a very big change which 
     still needs to be cross-checked.
This commit is contained in:
2011-10-06 09:49:51 +00:00
parent 0c995ad9d8
commit 781fb2022c
5 changed files with 123 additions and 58 deletions

View File

@ -477,6 +477,19 @@ G4VPhysicalVolume* musrDetectorConstruction::Construct() {
G4Tubs* solidOuterDetTube = new G4Tubs("SolidOuterDetTube",0.*mm,x2*mm,x3*mm,x4*deg,x5*deg);
solid = new G4SubtractionSolid(solidName, solidOuterDetTube, solidInnerDetBox);
}
else if (strcmp(tmpString2,"tubsbox2")==0){
// Create a tube, from which center a box is cut out. More general box and tube than in "tubsbox".
// x1,x2,x3=box half-widths; x4,x5,x6,x7,x8 define the tube.
sscanf(&line[0],"%*s %*s %*s %s %lf %lf %lf %lf %lf %lf %lf %lf %s",
name,&x1,&x2,&x3,&x4,&x5,&x6,&x7,&x8,material);
sscanf(&line[0],"%*s %*s %*s %*s %*g %*g %*g %*g %*g %*g %*g %*g %*s %lf %lf %lf %s %s %s %d %s",
&posx,&posy,&posz,mothersName,rotMatrix,sensitiveDet,&volumeID,actualFieldName);
solidName+=name;
G4double roundingErr=0.01*mm; // to avoid some displaying problems of the subtracted volumes
G4Box* solidInnerDetBox2 = new G4Box("SolidInnerDetBox2",x1*mm,x2*mm,x3*mm+roundingErr);
G4Tubs* solidOuterDetTube2 = new G4Tubs("SolidOuterDetTube2",x4*mm,x5*mm,x6*mm,x7*deg,x8*deg);
solid = new G4SubtractionSolid(solidName, solidOuterDetTube2, solidInnerDetBox2);
}
else if (strcmp(tmpString2,"GPSforward")==0){
// Create a box, from which a cone is cut out:
// x1, x2, x3 = box half-widths;
@ -1547,6 +1560,7 @@ void musrDetectorConstruction::DefineMaterials()
new G4Material("ArgonGas", z= 18., a= 39.95*g/mole, density= 0.00000000001*mg/cm3);
new G4Material("HeliumGas5mbar",z=2., a=4.002602*g/mole, density= 0.00000088132*g/cm3);
if (musrParameters::boolG4OpticalPhotons) {