Message: Re: Geometry Parameterization Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

More Re: Geometry Parameterization 

Forum: Geometry
Re: Question Geometry Parameterization (Matt Worden)
Date: 07 Oct, 2009
From: Matt Worden <Matt Worden>

Yes my channels are overlapping with the sphere. I have Added a picture of the geometry to help explain what I am doing. To solve this over lap problem I think I need to use a subtraction solid. I am not sure the best way to implement this though. Since the channels are meeting with a sphere at slightly different locations, each channel is going to be slightly different. Here is a snippet of my code. Any suggestions on how to implement the subtraction solid so that the channels meet with the sphere would be greatly appreciated.

I am a student at Florida A&M University working for the physics department. The goal of the project is to eventually create a particle detector that uses radiation Cerenkov radiation to determine which particles travel through the sphere.

/////////////////////////////// Sphere

G4VSolid* outerSphereSolid = new G4Sphere("outer_Sphere",   // Name
                                       0*m,    // Inner radius
				       .00012*m,    // Outer radius
                                       0.*deg,         // Starting phi
                                       360.*deg,       // Delta phi
					0.*deg,         // Starting theta
                                       180.*deg);      // Delta theta

 G4LogicalVolume* outerSphereLogical = 
    new G4LogicalVolume(outerSphereSolid, SiO2, "OuterSphere_Logical");

G4VPhysicalVolume* outerSpherePhys =new G4PVPlacement(0, G4ThreeVector(-.00001,0,0),
		    outerSphereLogical, "Outer_Sphere_Physical",
		    air_Logical, false, 0);

//////////////////////////////////////////////////////////////////////////////// /// Quartz Channels ////////////////////////////////////////////////////////////////////////////////

 //below are constants to define the spacing of the quartz Channels
 double n=-.000075;
 double k=-.000075;
 int l=0;

/////////////////////////////////////////////////// //The array with the G4PVPlacement() coordinates

double space[12];

//below is a while loop that fills the location coordinate array
 while(l<11)
 {
	space[l]=n;
	n=n+.000015;
	l=l+1;

 }

//class declarations in arrays

 G4VSolid* holeSolid;
 G4LogicalVolume*holeLogical;
 G4VPhysicalVolume* holePhys[10][10];

 G4VisAttributes* holeAttributes[10][10]; 

 G4MultiFunctionalDetector* detector;
 G4SDManager* manager;
 G4PSPassageCellCurrent* scorer; 

 G4VSolid* detector_Solid;
 G4LogicalVolume* detector_Logical; 
 G4VPhysicalVolume* detector_Phys[10][10];

// Create Solid and Logical volumes for channels. //channels are called holes due to old version of detector

holeSolid= new G4Tubs("Hole_Solid", 0.0*m, .000003*m, 
		hole_Length, 0.*deg, 360.*deg);

holeLogical= new G4LogicalVolume(holeSolid, 
					SiO2, "Hole_Logical");
//
// Create Solid and Logical volumes for detectors.
//

detector_Solid = new G4Box("Detector_Solid", 
				size_Detector_X/10, size_Detector_Y/10, size_Detector_Z);
detector_Logical = 
				new G4LogicalVolume(detector_Solid, SiO2, 
				"Detector_Logical");

 //loop that instantiates the Quartz Channels and their surface //defintions

G4int Ni = 11;
G4int Nj = 11; 
for(int i=0;i<Ni;i++)
	{
		for(int j=0;j<Nj;j++)
		{
            // Define “index” as a number to distinguish the hole.
			G4int  index = i*Ni + Nj ;    //Index Number of the hole.

			holePhys[i][j] = new G4PVPlacement(0, 	
							G4ThreeVector(space[j]*m,space[i]*m,  
								hole_Location_Z), holeLogical, 
								"Hole_Physical", air_Logical, false, 
								index); 

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

1 None: Re: Geometry Parameterization   (John Apostolakis - 07 Oct, 2009)
(_ Question: Re: Geometry Parameterization   (Matt Worden - 09 Oct, 2009)
(_ Question: Photons traveling form one solid to another touching one   (Matt Worden - 19 Oct, 2009)
 Add Message Add Message
to: "Re: Geometry Parameterization"

 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 ]