Message: G4SubtractionSolid from two G4Polycone's ? Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

Question G4SubtractionSolid from two G4Polycone's ? 

Forum: Geometry
Date: 20 Mar, 2009
From: Aram Teymurazyan <Aram Teymurazyan>

Hi,
 I am trying to make a G4SubtractionSolid from two G4Polycone's. 

 are boolean operations permitted on G4Policone? (G4Subtraction solid seems to work for G4polycone-G4Box)

 if yes then - how to check if my geometry contracted properly because visualization part seems to fail.

1) I get errors when running the code.

BooleanProcessor::caseIE : unimplemented case
BooleanProcessor::caseIE : unimplemented case
BooleanProcessor::caseIE : unimplemented case
BooleanProcessor::caseIE : unimplemented case
BooleanProcessor: boolean operation failed

2) dawncut crushes when I try to look at sectionals of my solid.

sample code to reproduce the issue would be:

 G4int N_z_Planes_Shell0_tip_1 = 10;

  const G4double r_in_Shell0_tip_1[] = {0.*cm, .0*cm, .0*cm, .0*cm, 0.*cm, 
					0.*cm, .0*cm, .0*cm, .0*cm, 0.*cm};

  const G4double r_out_Shell0_tip_1[] = {4.4*cm, 4.4*cm, 2.655*cm, 2.655*cm, 2.705*cm, 
					 2.705*cm, 2.32875*cm, 1.9525*cm, 1.57625*cm, 3.36325*mm};

  const G4double zPlanes_Shell0_tip_1[] = {0.*mm, 3.0*mm, 3.67*cm, 24.72*cm, 24.72*cm, 
					   25.02*cm, 25.1925*cm, 25.365*cm, 25.5375*cm, 25.71*cm};

  G4Polycone* solid_Shell0_tip_1 = new G4Polycone("solid_Shell0_tip_1", phiStart, 
						   phiTotal, N_z_Planes_Shell0_tip_1, 
						   zPlanes_Shell0_tip_1, r_in_Shell0_tip_1, 
						   r_out_Shell0_tip_1);
  //-------------------------------------------

  G4int N_z_Planes_Shell0_tip_2 = 8;

  const G4double r_in_Shell0_tip_2[] = {0.*cm, .0*cm, 0.*cm, .0*cm, 0.*cm,
					.0*cm, 0.*cm, 0.*cm};

  const G4double r_out_Shell0_tip_2[] = {4.15*cm, 4.15*cm, 2.605*cm, 2.605*cm, 
					 2.32875*cm, 1.9525*cm, 1.57625*cm, 3.36325*mm};

  const G4double zPlanes_Shell0_tip_2[] = {.0*cm, 6.5*mm, 3.67*cm, 25.02*cm, 25.1825*cm, 
					   25.355*cm, 25.5375*cm, 25.7*cm};

  G4Polycone* solid_Shell0_tip_2 = new G4Polycone("solid_Shell0_tip_2", phiStart, 
						   phiTotal, N_z_Planes_Shell0_tip_2, 
						   zPlanes_Shell0_tip_2, r_in_Shell0_tip_2, 
						   r_out_Shell0_tip_2);

  //-------------------------------------------
  G4SubtractionSolid* solid_Shell0_tip = new G4SubtractionSolid("solid_Shell0_tip", solid_Shell0_tip_1, solid_Shell0_tip_2);

  G4Material* Shell0_tip_Mater = G4Material::GetMaterial("Material_Aluminium");

  G4LogicalVolume* logic_Shell0_tip = new G4LogicalVolume(solid_Shell0_tip, 
							  Shell0_tip_Mater, 
							  "logic_Shell0_tip", 
							  0, 0, 0);   
  new G4PVPlacement(0, G4ThreeVector(), logic_Shell0_tip, "physi_Shell0_tip", 
		    logicMother, false, 0);

Inline Depth:
 1 1
 All All
Outline Depth:
 1 1
 2 2
 All All
Add message: (add)

1 None: Re: G4SubtractionSolid from two G4Polycone's ?   (John Allison - 21 Mar, 2009)
 Add Message Add Message
to: "G4SubtractionSolid from two G4Polycone's ?"

 Subscribe Subscribe

This site runs SLAC HyperNews version 1.11-slac-98, derived from the original HyperNews


[ Geant 4 Home | Geant 4 HyperNews | Search | Request New Forum | Feedback ]