|Message: Re: GDML in simulation||Not Logged In (login)|
|1||0||1||no text / full text of posting|
|2||1||All||text for level 1 only / text for All postings|
|1||2||1||2 levels / 1 level (original posting)|
|2||3||2||3 levels / 2 levels|
|3||3||All||3 levels / all levels (all postings)|
I have tried to mix GDML volumes generated with FASTRAD with with CSG volumes generated by my own.
What I did is to add in my DetectorConstruction:
G4GDMLParser parser; // read the GDML parser.Read("GDML_draw/baseplate_r.gdml"); // Get the desired volume in the GDML geometry G4LogicalVolume* pLogVol = parser.GetVolume("Baseplate"); // Set the material pLogVol->SetMaterial(G4Material *pMaterial); // Place it but without rotation new G4PVPlacement (0,position,pLogVol,pName,pMotherLogical,pMany,pCopyNo)
Where baseplate_r.gdml is the file generated with FASTRAD. Baseplate is the volume to place which is in the GDML file. I find some limitations with this method. I could not rotate the volume with G4PVPlacement so I rotate it modifying the position of the vertex in the GDML file. After generating the geometry I could visualize it with DAWNFILE or HepRepFile.
/geometry/test/grid_test true I have this :-( *** G4Exception : UnknownInsideOutside issued by : G4TessellatedSolid::Inside() Cannot determine whether point is inside or outside volume! *** Fatal Exception *** core dump ***
*** G4Exception: Aborting execution *** Aborted
So I hat to give up and make the geometry by my own. Perhaps you have more chance.