Hi Brett,
The error message means that your geometry includes a solid
which type is not known to VGM.
Solid is not derived from G4LogicalVolume, but G4VSolid;
it represents the shape of the volume. VGM supports most
of solids defined in Geant4, but not all.
> this correct? If not, can anyone give a suggestion on how to track
> down the source of this error
Could you have a look at your Geant4 geometry what
is the type of the solid:
Module_1_OneModule_TestPMT_8inch_oil_body_solid
Or you can change the line 239 in
vgm/packages/Geant4GM/source/volumes/Factory.cxx:
<< solid->GetName() << "\")" << std::endl;
to:
<< solid->GetName() << "\")" << " type: " << solid->GetEntityType() << std::endl;
This will print also the info about the type of solid and will help me to see what I can do with it.
> or at least to have VGM ignore tany unknown solids?
There is a question what user could then do with such incomplete geometry. But I am already considering this possibility to make easier to get rid off problems when a user hits some limitation as in your case.
For dumping geometry in XML I suggest to use rather AGDD exporter than GDML, which is more complete.
Best regards,
Ivana
-- ============================================================== e-mail: Ivana.Hrivnacova_at_cern.ch address: Institut Physique Nucleaire, 91406 Orsay, France phone: (33) 01 69 15 65 94 ============================================================== On Thu, 12 Oct 2006, Brett Viren wrote:Received on Fri Oct 13 2006 - 10:27:13 MEST
> Hi,
>
> I want to replace our hard coded Geant4 based geometry with VGM. As a
> first step I wanted to import the the top level "world"
> G4VPhysicalVolume created with the existing geometry to VGM and then
> export to XML. I do this like:
>
> void dump_geometry(G4VPhysicalVolume* world)
> {
> Geant4GM::Factory g4Factory;
> g4Factory.Import(world);
>
> XmlVGM::GDMLExporter xmlExporter2(&g4Factory);
> xmlExporter2.GenerateXMLGeometry();
> }
>
> However, I get this error:
>
> Geant4GM::Factory::ImportSolid:
> Unsupported solid type (solid 'Module_1_OneModule_TestPMT_8inch_oil_body_solid")
> *** Error: Aborting execution ***
>
> The solid in question is implemented in a class that ultimately
> derives from G4LogicalVolume. I'm guessing that the fact that this
> class is not a known, proper Geant4 class is causing the problem. Is
> this correct? If not, can anyone give a suggestion on how to track
> down the source of this error or at least to have VGM ignore tany
> unknown solids?
>
> Thanks,
> -Brett.
>
>
This archive was generated by hypermail 2.2.0 : Tue Jan 02 2007 - 14:55:09 MET