@@ -579,7 +579,6 @@ public final class DCGeant4Factory extends Geant4Factory {
579579 private final HashMap <String , String > properties = new HashMap <>();
580580 private int nsgwires ;
581581
582- private final double x_enlargement = 1.00 ;
583582 private final double y_enlargement = 3.65 ;
584583 private final double z_enlargement = -2.46 ;
585584 private final double microgap = 0.01 ;
@@ -824,20 +823,19 @@ private Geant4Basic getRegion(int isec, int ireg) {
824823 }
825824
826825 private Geant4Basic getLayer (int isec , int isuper , int ilayer ) {
827- return getRegion (isec , isuper /2 ).getChildren ().get (0 ). getChildren (). get ( (isuper %2 )*6 + ilayer );
826+ return getRegion (isec , isuper /2 ).getChildren ().get ((isuper %2 )*6 + ilayer );
828827 }
829828 ///////////////////////////////////////////////////
830829 public Geant4Basic createRegion (int isector , int iregion ) {
831830 Wire regw0 = new Wire (isector +1 , iregion * 2 , 0 , 0 );
832831 Wire regw1 = new Wire (isector +1 , iregion * 2 + 1 , 7 , nsgwires - 1 );
833832
834- double dx_shift = y_enlargement * Math .tan (dbref .thopen (iregion )/2 );
835- double extra = 0.2 ;
833+ double dx_shift = y_enlargement * Math .tan (Math .toRadians (29.5 ));
836834
837835 double reg_dz = (dbref .frontgap (iregion ) + dbref .backgap (iregion ) + dbref .midgap (iregion ) + dbref .superwidth (iregion * 2 ) + dbref .superwidth (iregion * 2 + 1 )) / 2.0 + z_enlargement ;
838- double reg_dx0 = Math .abs (regw0 .bottom ().x ) - dx_shift + x_enlargement ;
839- double reg_dx1 = Math .abs (regw1 .top ().x ) + dx_shift + x_enlargement ;
840- double reg_dy = regw1 .top ().minus (regw0 .bottom ()).y / Math .cos (dbref .thtilt (iregion )) / 2.0 + y_enlargement ;
836+ double reg_dx0 = Math .abs (regw0 .bottom ().x ) - dx_shift + 1.0 ;
837+ double reg_dx1 = Math .abs (regw1 .top ().x ) + dx_shift + 1.0 ;
838+ double reg_dy = regw1 .top ().minus (regw0 .bottom ()).y / Math .cos (dbref .thtilt (iregion )) / 2.0 + y_enlargement + 1.0 ;
841839 double reg_skew = 0.0 ;
842840 double reg_thtilt = dbref .thtilt (iregion );
843841
@@ -854,17 +852,6 @@ public Geant4Basic createRegion(int isector, int iregion) {
854852 regionVolume .translate (vcenter .x , vcenter .y , vcenter .z );
855853 regionVolume .setId (isector + 1 , iregion + 1 , 0 , 0 );
856854
857- double gas_dx0 = reg_dx0 - x_enlargement + dx_shift + extra ;
858- double gas_dx1 = reg_dx1 - x_enlargement - dx_shift + extra ;
859- double gas_dy = reg_dy - y_enlargement + extra ;
860- Geant4Basic regionGas = new G4Trap ("regionGas" + (iregion + 1 ) + "_s" + (isector + 1 ),
861- reg_dz , -reg_thtilt , Math .toRadians (90.0 ),
862- gas_dy , gas_dx0 , gas_dx1 , 0.0 ,
863- gas_dy , gas_dx0 , gas_dx1 , 0.0 );
864- regionGas .setPosition (0 , 0 , 0 );
865- regionGas .setMother (regionVolume );
866- regionGas .setId (isector + 1 , iregion + 1 , 0 , 0 );
867-
868855 for (int isup = 0 ; isup < 2 ; isup ++) {
869856 int isuper = iregion * 2 + isup ;
870857 Geant4Basic superlayerVolume = this .createSuperlayer (isuper );
@@ -877,7 +864,7 @@ public Geant4Basic createRegion(int isector, int iregion) {
877864 superlayerVolume .rotate ("zxy" , -dbref .thster (isuper ), 0.0 , 0.0 );
878865
879866 superlayerVolume .setPosition (slshift .x , slshift .y , slshift .z );
880- superlayerVolume .setMother (regionGas );
867+ superlayerVolume .setMother (regionVolume );
881868 superlayerVolume .setId (isector + 1 , iregion + 1 , isuper + 1 );
882869
883870 int nsglayers = dbref .nsenselayers (isuper ) + dbref .nguardlayers (isuper );
@@ -892,7 +879,7 @@ public Geant4Basic createRegion(int isector, int iregion) {
892879 layerVolume .rotate ("zxy" , -dbref .thster (isuper ), 0.0 , 0.0 );
893880
894881 layerVolume .setPosition (lshift .x , lshift .y , lshift .z );
895- layerVolume .setMother (regionGas );
882+ layerVolume .setMother (regionVolume );
896883 layerVolume .setId (isector + 1 , iregion + 1 , isuper + 1 , ilayer );
897884 }
898885 }
0 commit comments