Message: Placing Si layer in cylinder using G4SubtractionSolid Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

None Placing Si layer in cylinder using G4SubtractionSolid 

Forum: Geometry
Date: 12 Mar, 2015
From: Sourav Tarafdar <Sourav Tarafdar>

Dear experts,

 Recently I was trying to make a geometry using Boolean operation in Geant4. The geometry consists of a hollow cylinder (radius = 6.9 cm) and then I was trying to insert a layer of Silicon (0.5 mm thickness) through it so that the perpendicular to the plane of Silicon layer is parallel to the axis of cylinder. For that  I constructed a hollow cylinder  and then subtracted a box of thickness equal to the thickness of Silicon layer using G4SubtractionSolid. The subtracted volume is then filled with vacuum.  This step I assume removes slice of cylinder from it's surface where I can place a Si-layer. In the next step I defined G4Box of dimension (15.6 cm, 15.6 cm, 0.048 cm) and of Si-material and placed it at the location where I sliced off cylinder using G4SubtractionSolid. Is this a right approach  ? Below is the code snippet for the geometry construction

//Make cylinder and chop off thin slice G4Tubs* cyl = new G4Tubs("cyl",0, 6.9*cm, 490.*cm , 0*deg, 360*deg);

G4Box* slice = new G4Box("slice", 8*cm, 8*cm,0.025*cm);

G4SubtractionSolid* cyl_slice = new G4SubtractionSolid("cyl_slice", cyl , slice ,0,
								  G4ThreeVector(0,0, 10.5*cm));
G4LogicalVolume *cyl_slice_log = new G4LogicalVolume(cyl_slice , Vacuum, " cyl_slice_log", 0, 0, 0)

G4VPhysicalVolume *cyl_slice_phys = new G4PVPlacement( 0, G4ThreeVector(0.*cm, 0.*cm,     
                                                           490.*cm ),  cyl_slice_log, "cyl_slice_phys", worldvolume_log,  
                                                            false, 1, true ) ; // worldvolume_log is logical World volume

// Define and place Si-strip at the slice of cylinder
G4Box* Si_strip = new G4Box("Si_strip",7.8*cm, 7.8*cm, 0.024*cm);
Si_strip_log = new G4LogicalVolume(Si_trip , silicon,"Si_strip_log",0,0,0);
G4VPhysicalVolume *Si_strip_phys =  new G4PVPlacement(0 , G4ThreeVector( 0. , 0., 10.5*cm ),
				                           Si_strip_log,"detector1_phys",cyl_slice_log,false,9,true);

 However while checking for geometry overlap I get the message of geometry overlap between Si_strip_phys and it's mother logical volume  (cyl_slice_log). I have been wondering whether I am correct in placing the "Si_strip_phys" ? If I understand correctly I have to place "Si_strip_phys" at the location of "cyl_slice" that is at (0, 0, 10.5*cm). Am I correct ? Any input in this regard will be very helpful.

Thanks -Sourav

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

1 Idea: Re: Placing Si layer in cylinder using G4SubtractionSolid   (Patrik Eschle - 05 Apr, 2015)
1 None: Re: Placing Si layer in cylinder using G4SubtractionSolid   (Sourav Tarafdar - 07 Apr, 2015)
(_ None: Re: Placing Si layer in cylinder using G4SubtractionSolid   (Sourav Tarafdar - 08 Apr, 2015)
2 Question: Re: Placing Si layer in cylinder using G4SubtractionSolid   (Michael H. Kelsey - 08 Apr, 2015)
1 None: Re: Placing Si layer in cylinder using G4SubtractionSolid   (Sourav Tarafdar - 08 Apr, 2015)
(_ Agree: Re: Placing Si layer in cylinder using G4SubtractionSolid   (Michael H. Kelsey - 08 Apr, 2015)
 Add Message Add Message
to: "Placing Si layer in cylinder using G4SubtractionSolid"

 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 ]