The following classes (.hh. icc and .cc) are related to the tessellated solid: G4PolyhedronArbitrary G4QuadrangularFacet G4TessellatedSolid G4TriangularFacet G4VFacet How to contruct a G4TessellatedSolid G4TessellatedSolid is a special Geant4 Solid defined by a number of G4VFacet.It is important that the supplied facets shall form a fully enclose space which is the solid. At the moment only two types of facet can be used for the construction of a G4TessellatedSolid, i.e. the G4TriangularFacet and G4QuadrangularFacet. Example: ..... First declare a tessellated solid G4TessellatedSolid solidTarget = new G4TessellatedSolid("Solid_name"); Define the facets which form the solid G4double targetSiz = 10*cm ; G4TriangularFacet *facet1 = new G4TriangularFacet (G4ThreeVector(-targetSize,-targetSize, 0.0), G4ThreeVector(+targetSize,-targetSize, 0.0), G4ThreeVector( 0.0, 0.0,+targetSize), ABSOLUTE); G4TriangularFacet *facet2 = new G4TriangularFacet (G4ThreeVector(+targetSize,-targetSize, 0.0), G4ThreeVector(+targetSize,+targetSize, 0.0), G4ThreeVector( 0.0, 0.0,+targetSize), ABSOLUTE); G4TriangularFacet *facet3 = new G4TriangularFacet (G4ThreeVector(+targetSize,+targetSize, 0.0), G4ThreeVector(-targetSize,+targetSize, 0.0), G4ThreeVector( 0.0, 0.0,+targetSize), ABSOLUTE); G4TriangularFacet *facet4 = new G4TriangularFacet (G4ThreeVector(-targetSize,+targetSize, 0.0), G4ThreeVector(-targetSize,-targetSize, 0.0), G4ThreeVector( 0.0, 0.0,+targetSize), ABSOLUTE); G4QuadrangularFacet *facet5 = new G4QuadrangularFacet (G4ThreeVector(-targetSize,-targetSize, 0.0), G4ThreeVector(-targetSize,+targetSize, 0.0), G4ThreeVector(+targetSize,+targetSize, 0.0), G4ThreeVector(+targetSize,-targetSize, 0.0), ABSOLUTE); Noew add the facets to the solid solidTarget->AddFacet((G4VFacet*) facet1); solidTarget->AddFacet((G4VFacet*) facet2); solidTarget->AddFacet((G4VFacet*) facet3); solidTarget->AddFacet((G4VFacet*) facet4); solidTarget->AddFacet((G4VFacet*) facet5); Finally declare the solid is complete solidTarget->SetSolidClosed(true); ............... How to construct G4TriangularFacet: The G4TriangularFacet class is used for the contruction of G4TessellatedSolid. It is defined by three vertices, which shall be supplied in anti-clockwise order looking from the outsider of the solid where it belongs.Its constructor G4TriangularFacet (const G4ThreeVector Pt0, const G4ThreeVector vt1, const G4ThreeVector vt2, G4FacetVertexType); takes 4 parameters to define the three vertices: 1) G4FacetvertexType = "ABSOLUTE": in this case Pt0, vt1 and vt2 are the three vertices in anti-clockwise order looking from the outsider. 2) G4FacetvertexType = "RELATIVE": in this case the first vertex is Pt0, the second vertex is Pt0+vt1 and the third vertex is Pt0+vt2, all in anti-clockwise order when looking from the outsider. How to construct G4QuadrangularFacet The G4QuadrangularFacet class is used for the contruction of G4TessellatedSolid. It is defined by four vertices, which shall be in the same plane and be supplied in anti-clockwise order looking from the outsider of the solid where it belongs. Its constructor G4QuadrangularFacet (const G4ThreeVector Pt0, const G4ThreeVector vt1, const G4ThreeVector vt2, const G4ThreeVector vt3, G4FacetVertexType); takes 5 parameters to define the four vertices : 1) G4FacetvertexType = "ABSOLUTE": in this case Pt0, vt1, vt2 and vt3 are the four vertices required in anti-clockwise order when looking from the outsider. 2) G4FacetvertexType = "RELATIVE": in this case the first vertex is Pt0, the second vertex is Pt0+vt, the third vertex is Pt0+vt2 and the fourth vertex is Pt0+vt3, in anti-clockwise order when looking from the outsider.