12.07.2015 Views

Geant4 User's Guide for Application Developers - Geant4 - CERN

Geant4 User's Guide for Application Developers - Geant4 - CERN

Geant4 User's Guide for Application Developers - Geant4 - CERN

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Detector Definition and ResponseExamples are given below in listings Example 4.4 and Example 4.5.Example 4.5. An example of a box division along different axes, with or without offset.G4Box* motherSolid = new G4Box("motherSolid", 0.5*m, 0.5*m, 0.5*m);G4LogicalVolume* motherLog = new G4LogicalVolume(motherSolid, material, "mother",0,0,0);G4Para* divSolid = new G4Para("divSolid", 0.512*m, 1.21*m, 1.43*m);G4LogicalVolume* childLog = new G4LogicalVolume(divSolid, material, "child",0,0,0);G4PVDivision divBox1("division along X giving nDiv",childLog, motherLog, kXAxis, 5, 0.);G4PVDivision divBox2("division along X giving width and offset",childLog, motherLog, kXAxis, 0.1*m, 0.45*m);G4PVDivision divBox3("division along X giving nDiv, width and offset",childLog, motherLog, kXAxis, 3, 0.1*m, 0.5*m);• divBox1 is a division of a box along its X axis in 5 equal copies. Each copy will have a dimension in metersof [0.2, 1., 1.].• divBox2 is a division of the same box along its X axis with a width of 0.1 meters and an offset of 0.5 meters.As the mother dimension along X of 1 meter (0.5*m of halflength), the division will be sized in total 1 -0.45 = 0.55 meters. There<strong>for</strong>e, there's space <strong>for</strong> 5 copies, the first extending from -0.05 to 0.05 metersin the mother's frame and the last from 0.35 to 0.45 meters.• divBox3 is a division of the same box along its X axis in 3 equal copies of width 0.1 meters and an offsetof 0.5 meters. The first copy will extend from 0. to 0.1 meters in the mother's frame and the last from 0.2to 0.3 meters.Example 4.6. An example of division of a polycone.G4double* zPlanem = new G4double[3];zPlanem[0]= -1.*m;zPlanem[1]= -0.25*m;zPlanem[2]= 1.*m;G4double* rInnerm = new G4double[3];rInnerm[0]=0.;rInnerm[1]=0.1*m;rInnerm[2]=0.5*m;G4double* rOuterm = new G4double[3];rOuterm[0]=0.2*m;rOuterm[1]=0.4*m;rOuterm[2]=1.*m;G4Polycone* motherSolid = new G4Polycone("motherSolid", 20.*deg, 180.*deg,3, zPlanem, rInnerm, rOuterm);G4LogicalVolume* motherLog = new G4LogicalVolume(motherSolid, material, "mother",0,0,0);G4double* zPlaned = new G4double[3];zPlaned[0]= -3.*m;zPlaned[1]= -0.*m;zPlaned[2]= 1.*m;G4double* rInnerd = new G4double[3];rInnerd[0]=0.2;rInnerd[1]=0.4*m;rInnerd[2]=0.5*m;G4double* rOuterd = new G4double[3];rOuterd[0]=0.5*m;rOuterd[1]=0.8*m;rOuterd[2]=2.*m;G4Polycone* divSolid = new G4Polycone("divSolid", 0.*deg, 10.*deg,3, zPlaned, rInnerd, rOuterd);G4LogicalVolume* childLog = new G4LogicalVolume(divSolid, material, "child",0,0,0);G4PVDivision divPconePhiW("division along phi giving width and offset",childLog, motherLog, kPhi, 30.*deg, 60.*deg);G4PVDivision divPconeZN("division along Z giving nDiv and offset",childLog, motherLog, kZAxis, 2, 0.1*m);• divPconePhiW is a division of a polycone along its phi axis in equal copies of width 30 degrees with anoffset of 60 degrees. As the mother extends from 0 to 180 degrees, there's space <strong>for</strong> 4 copies. All the copies93

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!