Re: Derived logical volumes in VGM

From: Ivana Hrivnacova <ihrivnac_at_mail.cern.ch>
Date: Fri, 13 Oct 2006 10:26:21 +0200 (CEST)

 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:


> 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.
>
>
Received on Fri Oct 13 2006 - 10:27:13 MEST

This archive was generated by hypermail 2.2.0 : Tue Jan 02 2007 - 14:55:09 MET