Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-23 09:33:41

0001 // @(#)geom/geocad:$Id$
0002 // Author: Cinzia Luzzi   5/5/2012
0003 
0004 /*************************************************************************
0005  * Copyright (C) 1995-2012, Rene Brun and Fons Rademakers.               *
0006  * All rights reserved.                                                  *
0007  *                                                                       *
0008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0010  *************************************************************************/
0011 
0012 #ifndef ROOT_TGeoToStep
0013 #define ROOT_TGeoToStep
0014 
0015 #include "TObject.h"
0016 
0017 #include <map>
0018 #include <string>
0019 
0020 class TGeoManager;
0021 class TOCCToStep;
0022 
0023 
0024 class TGeoToStep: public TObject {
0025 
0026 protected:
0027    TGeoManager *fGeometry; //ROOT geometry pointer
0028    TOCCToStep *fCreate;       //OCC geometry build based on Root one
0029 
0030 public:
0031    TGeoToStep();
0032    TGeoToStep(TGeoManager *geom);
0033    virtual ~TGeoToStep();
0034 
0035    // Backward-compatible API preserved for external callers.
0036    void CreateGeometry(const char* fname = "geometry.stp", int max_level = -1,
0037                        double tgeo_length_unit_in_mm = 1.);
0038    void CreatePartialGeometry(const char* part_name, int max_level = -1,
0039                               const char* fname = "geometry.stp",
0040                               double tgeo_length_unit_in_mm = 1.);
0041    void CreatePartialGeometry(std::map<std::string,int> part_name_levels,
0042                               const char* fname = "geometry.stp",
0043                               double tgeo_length_unit_in_mm = 1.);
0044 
0045    // Extended API for metadata control.
0046    void CreateGeometry(const char* fname, int max_level, double tgeo_length_unit_in_mm,
0047                        bool export_vis_attributes, bool export_materials);
0048    void CreatePartialGeometry(const char* part_name, int max_level, const char* fname,
0049                               double tgeo_length_unit_in_mm, bool export_vis_attributes,
0050                               bool export_materials);
0051    void CreatePartialGeometry(std::map<std::string,int> part_name_levels, const char* fname,
0052                               double tgeo_length_unit_in_mm, bool export_vis_attributes,
0053                               bool export_materials);
0054 
0055    ClassDef(TGeoToStep,1)
0056 };
0057 
0058 #endif