Import Geant4 6.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 10:41:53 +02:00
parent 4aea781e80
commit 96686e0c8f
6560 changed files with 153347 additions and 238155 deletions
-5
View File
@@ -10,8 +10,3 @@ Debugging tool for overlapping geometries.
See notes included in the package for details on how to use it, known
limitations and defined commands.
CAD
---
Example of importing geometries described by CAD systems through AP203
compliant STEP files.
@@ -1,33 +0,0 @@
# $Id: GNUmakefile,v 1.4 2003/05/28 08:12:48 gcosmo Exp $
# --------------------------------------------------------------
# GNUmakefile for tests module. Gabriele Cosmo, 27/06/98.
# --------------------------------------------------------------
name := cadex
G4TARGET := $(name)
G4EXLIB := true
G4USE_STEP := 1
ifndef G4INSTALL
G4INSTALL = ../../../..
endif
include $(G4INSTALL)/config/architecture.gmk
# To avoid incompatibilities with ANSI standard treatment of strings, the
# NIST STEP reader on gcc-2.95.X and later must be compiled in non-ANSI mode.
# NOTE: correct behavior of the STEP reader and interface are guaranteed ONLY
# if using egcs-1.1.2 compiler or old non-ANSI compilers.
#
ifneq (,$(findstring g++,$(G4SYSTEM)))
ansi_options = -Wall -ansi -pedantic
NCXX = $(filter-out $(ansi_options),$(CXXFLAGS))
NCPP = $(CPPFLAGS)
CXXFLAGS := $(NCXX)
CPPFLAGS := $(NCPP) -w
endif
.PHONY: all
all: lib bin
include $(G4INSTALL)/config/binmake.gmk
-31
View File
@@ -1,31 +0,0 @@
$Id: History,v 1.4 2003/05/28 08:13:35 gcosmo Exp $
-------------------------------------------------------------------
=========================================================
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
=========================================================
History file
------------
This file should be used by the test developer to briefly
summarize all major modifications introduced in the code and keep
track of all tags.
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
May 28, 03 G.Cosmo (cadex-V05-01-00)
- Set G4USE_STEP flag in GNUmakefile. Updated README.
November 18, 02 G.Cosmo (cadex-V04-01-01)
- Enhanced corrections for VERTEX_POINT, EDGE_LOOP and POLY_LOOP.
(courtesy of Daniel Szepielak).
July 04, 02 G.Cosmo (cadex-V04-01-00)
- GNUmakefile: parse 'g++' string in G4SYSTEM to detect non-ISO setup for
gcc-2.95 and higher.
June 27, 98 G.Cosmo
- Created.
-25
View File
@@ -1,25 +0,0 @@
$Id: README,v 1.2 2003/05/28 08:13:14 gcosmo Exp $
-------------------------------------------------------------------
=========================================================
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
=========================================================
CAD STEP interface example
--------------------------
This is an example using particle tracking in STEP CAD-models through
AP203 compliant STEP descriptions. The model can be changed by invoking
the UI command "/mydet/SelectDetector <model-name>", where
<model-name> is the name of the STEP file <model-name>.stp which
describes the detector geometry.
Due to limitations of the NIST STEP reader, a correct behavior can be
assured only for non-ISO/ANSI setup of compilers (i.e. egcs-1.1.2 or old
non-ANSI compilers) as specified in the notes for the SCL-3.2 package.
Therefore, the GNUmakefile in this example has been modified to force
non-ISO/ANSI compilation on Linux platforms, to allow the code to build.
AP203 STEP files showing errors in the reading process, can be formatted
using the PERL scripts provided in the "scripts" directory; most patterns
will be corrected. If errors are still observed, please inform us so that
the scripts can be enhanced.
-101
View File
@@ -1,101 +0,0 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: cadex.cc,v 1.1 2002/06/20 10:00:54 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-02 $
// ------------------------------------------------------------
#include "CadDetectorConstruction.hh"
#include "CadRunAction.hh"
#include "CadPrimaryGeneratorAction.hh"
#include "CadPhysicsList.hh"
#ifdef G4VIS_USE
#include "CadVisManager.hh"
#endif
#include "G4RunManager.hh"
#include "G4UImanager.hh"
#if defined(G4UI_USE_XM)
#include "G4UIXm.hh"
#elif defined(G4UI_USE_XAW)
#include "G4UIXaw.hh"
#else
#include "G4UIterminal.hh"
#endif
int main(int argc, char** argv)
{
// Set the default random engine to RanecuEngine
RanecuEngine defaultEngine;
HepRandom::setTheEngine(&defaultEngine);
// Run manager
G4RunManager * runManager = new G4RunManager;
// UserInitialization classes
runManager->SetUserInitialization(new CadDetectorConstruction);
runManager->SetUserInitialization(new CadPhysicsList);
// Visualization manager
#if defined(G4VIS_USE)
G4VisManager* visManager = new CadVisManager;
visManager->Initialize();
#endif
// UserAction classes
runManager->SetUserAction(new CadRunAction);
runManager->SetUserAction(new CadPrimaryGeneratorAction);
// User interactions
// Define (G)UI GAG for interactive mode
if(argc==1)
{
// G4UIterminal is a (dumb) terminal
#if defined(G4UI_USE_XM)
G4UIsession * session = new G4UIXm(argc,argv);
#elif defined(G4UI_USE_XAW)
G4UIsession * session = new G4UIXaw(argc,argv);
#else
G4UIsession * session = new G4UIterminal;
#endif
session->SessionStart();
delete session;
}
else
// Batch mode
{
G4UImanager * UI = G4UImanager::GetUIpointer();
G4String command = "/control/execute ";
G4String fileName = argv[1];
UI->ApplyCommand(command+fileName);
}
// Job termination
#if defined(G4VIS_USE)
delete visManager;
#endif
delete runManager;
return 0;
}
-15
View File
@@ -1,15 +0,0 @@
/mydet/SelectDetector rod_place_asm
/tracking/verbose 1
#
# Initialize GEANT4
#
/run/initialize
#
# Run 3 events
#
/run/beamOn 3
#
# Termination
#
exit
@@ -1,65 +0,0 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: CadDetectorConstruction.hh,v 1.1 2002/06/20 10:00:54 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-02 $
// ------------------------------------------------------------
#ifndef CadDetectorConstruction_h
#define CadDetectorConstruction_h 1
#include "globals.hh"
#include "G4VUserDetectorConstruction.hh"
class CadDetectorMessenger;
class CadDetectorConstruction : public G4VUserDetectorConstruction
{
public:
CadDetectorConstruction();
~CadDetectorConstruction();
public:
G4VPhysicalVolume* Construct();
void SelectDetector(G4String val);
private:
G4double expHall_x;
G4double expHall_y;
G4double expHall_z;
G4double calBox_x;
G4double calBox_y;
G4double calBox_z;
G4double rotAngle;
G4double calPos;
G4double trackerRadius;
G4double trackerHight;
G4double trackerPos;
G4int detectorChoice;
CadDetectorMessenger* detectorMessenger;
};
#endif
@@ -1,52 +0,0 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: CadDetectorMessenger.hh,v 1.1 2002/06/20 10:00:54 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-02 $
// ------------------------------------------------------------
#ifndef CadDetectorMessenger_h
#define CadDetectorMessenger_h 1
#include "globals.hh"
#include "G4UImessenger.hh"
class CadDetectorConstruction;
class G4UIdirectory;
class G4UIcmdWithAString;
class CadDetectorMessenger: public G4UImessenger
{
public:
CadDetectorMessenger(CadDetectorConstruction * myDC);
void SetNewValue(G4UIcommand * command,G4String newValues);
private:
CadDetectorConstruction * myDetector;
G4UIdirectory * mydetDir;
G4UIcmdWithAString * selDetCmd;
G4UIcmdWithAString * switchCmd;
G4UIcmdWithAString * selMatCmd;
};
#endif
@@ -1,67 +0,0 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: CadPhysicsList.hh,v 1.1 2002/06/20 10:00:54 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-02 $
// ------------------------------------------------------------
#ifndef CadPhysicsList_h
#define CadPhysicsList_h 1
#include "globals.hh"
#include "G4VUserPhysicsList.hh"
class CadPhysicsList: public G4VUserPhysicsList
{
public:
CadPhysicsList();
virtual ~CadPhysicsList();
protected:
// Construct particle and physics
virtual void ConstructParticle();
virtual void ConstructProcess();
//
virtual void SetCuts();
protected:
// these methods Construct particles
virtual void ConstructBosons();
virtual void ConstructLeptons();
virtual void ConstructMesons();
virtual void ConstructBaryons();
virtual void ConstructIons();
protected:
// these methods Construct physics processes and register them
virtual void ConstructGeneral();
virtual void ConstructEM();
virtual void ConstructHad();
virtual void ConstructLeptHad();
};
#endif
@@ -1,50 +0,0 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: CadPrimaryGeneratorAction.hh,v 1.1 2002/06/20 10:00:54 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-02 $
// ------------------------------------------------------------
#ifndef CadPrimaryGeneratorAction_h
#define CadPrimaryGeneratorAction_h 1
#include "G4VUserPrimaryGeneratorAction.hh"
class G4ParticleGun;
class G4Event;
class CadPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
{
public:
CadPrimaryGeneratorAction();
~CadPrimaryGeneratorAction();
public:
void GeneratePrimaries(G4Event* anEvent);
private:
G4ParticleGun* particleGun;
};
#endif
@@ -1,50 +0,0 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: CadRunAction.hh,v 1.1 2002/06/20 10:00:55 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-02 $
// ------------------------------------------------------------
#ifndef CadRunAction_h
#define CadRunAction_h 1
#include "globals.hh"
#include "G4UserRunAction.hh"
class G4Timer;
class G4Run;
class CadRunAction : public G4UserRunAction
{
public:
CadRunAction();
virtual ~CadRunAction();
public:
virtual void BeginOfRunAction(const G4Run* aRun);
virtual void EndOfRunAction(const G4Run* aRun);
private:
G4Timer* timer;
};
#endif
@@ -1,50 +0,0 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: CadVisManager.hh,v 1.1 2002/06/20 10:00:55 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-02 $
// --------------------------------------------------------------------
#ifndef CadVisManager_h
#define CadVisManager_h 1
#ifdef G4VIS_USE
#include "G4VisManager.hh"
// --------------------------------------------------------------------
class CadVisManager : public G4VisManager
{
public:
CadVisManager ();
private:
void RegisterGraphicsSystems ();
};
#endif
#endif
@@ -1,98 +0,0 @@
#!/usr/bin/perl
sub usage {
print STDERR "This script takes a STEP file (from STDIN)\n";
print STDERR "and writes it to STDOUT with the data section\n";
print STDERR "sorted by ID.\n";
exit 1;
}
sub error {
print STDERR $_[0]."\n";
exit 2;
}
if ($#ARGV >= 0) {
&usage();
}
##########################################################################
$entry= "";
while (<STDIN>) {
while ($_ ne "") {
if (/[;']/) { #']){
$entry.= $`.$&;
$_= $';
if ($& eq ";") {
# end of entry
$lof= $_;
&processEntry($entry);
$entry= "";
$_= $lof;
} else {
# start of string
/[']/ || &error("String does not end within the line!"); #'];
$entry.= $`.$&;
$_= $';
}
} else {
$entry.= $_;
$_= "";
}
}
}
/^[ \t\n]*$/m || &error("File does not end with ';' !");
print "$_\n";
exit 0;
##########################################################################
sub processEntry {
local($e)= @_;
if (!$inData) {
print $e;
if ($e =~ /^(\s|\n)*DATA(\s|\n)*;$/m) {
$inData= 1;
}
} else {
if ($e =~ /^(\s|\n)*\#([0-9]+)\=/m) {
$id= $2;
$entries[$id]= $e;
} else {
$e =~ /^(\s|\n)*ENDSEC(\s|\n)*;$/m ||
&error("Data section does not end with ENDSEC;");
$inData= 0;
for ($id=0; $id<=$#entries; $id++) {
$en= $entries[$id];
if ($en ne "") {
print $en;
}
}
print $e;
}
}
}
##########################################################################
##########################################################################
##########################################################################
@@ -1,51 +0,0 @@
#!/usr/bin/perl
$filename = $ARGV[0];
open(INFILE, $filename) || die "\nSTEP file ".$filename." not found.";
print "Opening file ".$filename;
@filebuf = <INFILE>;
close(INFILE);
$g4 = "G4";
$outputfile = $g4 . $filename;
open(OUTFILE, ">$outputfile");
print "\nModifying STEP file for NIST toolkit...";
foreach (@filebuf)
{
if(/.*VERTEX\_POINT.*/)
{
($a,$b) = split (",",$&);
s//$a\,\'\'\,$b\n/;
}
elsif(/.*EDGE\_LOOP.*/)
{
s/EDGE\_LOOP\(\'(\w+)\'\,/EDGE\_LOOP\(\'$1\'\,\'\'\,/;
}
elsif(/.*POLY\_LOOP.*/)
{
s/POLY\_LOOP\(\'(\w+)\'\,/POLY\_LOOP\(\'$1\'\,\'\'\,/;
}
elsif(/.*ADVANCED\_FACE.*/)
{
($a,$b,$c) = split('\)',$&);
s//$a\)\,\'\'$b\)$c\n/;
}
elsif(/.*FACE\_SURFACE.*/)
{
($a,$b,$c) = split('\)',$&);
s//$a\)\,\'\'$b\)$c\n/;
}
elsif(/.*EDGE\_CURVE.*/)
{
($a,$b,$c,$d,$e) = split(",",$&);
s//$a\,$b\,$c\,\'\'\,$d\,$e\n/;
}
print OUTFILE;
}
close(OUTFILE);
print "\nOutput written to ".$outputfile."\n";
@@ -1,167 +0,0 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: CadDetectorConstruction.cc,v 1.1 2002/06/20 10:00:55 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-02 $
// ------------------------------------------------------------
#include "G4AssemblyCreator.hh"
#include "G4Assembly.hh"
#include "CadDetectorConstruction.hh"
#include "CadDetectorMessenger.hh"
#include "G4PVPlacement.hh"
#include "G4LogicalVolume.hh"
#include "G4Box.hh"
#include "G4Tubs.hh"
#include "G4Material.hh"
#include "G4Element.hh"
#include "G4VisAttributes.hh"
#include "G4Colour.hh"
CadDetectorConstruction::CadDetectorConstruction()
: detectorChoice(0)
{
expHall_x = 1111600.*cm;
expHall_y = 1111600.*cm;
expHall_z = 1111600.*cm;
calBox_x = 50.*cm;
calBox_y = 50.*cm;
calBox_z = 50.*cm;
rotAngle = 30.*deg;
calPos = 200.*cm;
trackerRadius = 50.*cm;
trackerHight = 100.*cm;
trackerPos = -200.*cm;
detectorMessenger = new CadDetectorMessenger(this);
}
CadDetectorConstruction::~CadDetectorConstruction()
{;}
G4VPhysicalVolume* CadDetectorConstruction::Construct()
{
//------------------------------------------------------ materials
G4double a, iz, z, density;
G4String name, symbol;
G4int nel;
a = 14.01*g/mole;
G4Element* elN = new G4Element(name="Nitrogen", symbol="N", iz=7., a);
a = 16.00*g/mole;
G4Element* elO = new G4Element(name="Oxygen", symbol="O", iz=8., a);
density = 1.29e-03*g/cm3;
G4Material* Air = new G4Material(name="Air", density, nel=2);
Air->AddElement(elN, .7);
Air->AddElement(elO, .3);
a = 207.19*g/mole;
density = 11.35*g/cm3;
G4Material* Lead = new G4Material(name="Lead", z=82., a, density);
a = 39.95*g/mole;
density = 1.782e-03*g/cm3;
G4Material* Ar = new G4Material(name="ArgonGas", z=18., a, density);
//------------------------------------------------------ volumes
//------------------------------ experimental hall
G4Box * experimentalHall_box
= new G4Box("expHall_b",expHall_x,expHall_y,expHall_z);
G4LogicalVolume * experimentalHall_log
= new G4LogicalVolume(experimentalHall_box,Air,"expHall_L",0,0,0);
G4VPhysicalVolume * experimentalHall_phys
= new G4PVPlacement(0,G4ThreeVector(),"expHall_P",
experimentalHall_log,0,false,0);
experimentalHall_log->SetVisAttributes (G4VisAttributes::Invisible);
//------------------------------ STEP assembly creation
const char * stepfile;
switch(detectorChoice)
{
default:
stepfile = "stepfiles/G4rod_place_asm.stp";
break;
case 1:
stepfile = "stepfiles/G4rod_solid.stp";
break;
}
G4AssemblyCreator MyAC(stepfile);
MyAC.ReadStepFile();
STEPentity* ent=0;
MyAC.CreateG4Geometry(*ent);
void *tmp = MyAC.GetCreatedObject();
G4Assembly* assembly = new G4Assembly();
assembly->SetPlacedVector(*(G4PlacedVector*)tmp);
// Set vis attribute to "transparent" blue
G4VisAttributes * visAttr = new G4VisAttributes(G4Colour(0.,0.,1.,.5));
visAttr->SetVisibility(true);
G4PlacedSolid* ps=0;
G4int solids = assembly->GetNumberOfSolids();
G4cout << "Now placing " << solids << " logical volumes... ";
for(G4int c=0;c<solids;c++)
{
ps = assembly->GetPlacedSolid(c);
G4LogicalVolume* lv = new G4LogicalVolume(ps->GetSolid(),Lead,"STEPlog");
HepRotation* hr = ps->GetRotation();
G4ThreeVector* tr = ps->GetTranslation();
new G4PVPlacement(hr,
*tr,
"STEPphys", // ps->GetSolid()->GetName(),
// no name assigned in sample STEP files
lv,
experimentalHall_phys,
false,
c);
lv->SetVisAttributes(visAttr);
}
G4cout << "Done !" << G4endl;
return experimentalHall_phys;
}
void CadDetectorConstruction::SelectDetector(G4String val)
{
if(val=="rod_solid")
{ detectorChoice = 1; }
else
{ detectorChoice = 0; }
G4cout << "Now Detector is " << val << G4endl;
}
@@ -1,74 +0,0 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: CadDetectorMessenger.cc,v 1.2 2002/12/05 01:07:00 asaim Exp $
// GEANT4 tag $Name: geant4-05-02 $
// ------------------------------------------------------------
#include "CadDetectorConstruction.hh"
#include "CadDetectorMessenger.hh"
#include "G4UIdirectory.hh"
#include "G4UIcmdWithAString.hh"
CadDetectorMessenger::CadDetectorMessenger(CadDetectorConstruction * myDC)
: myDetector(myDC)
{
G4String defParam;
mydetDir = new G4UIdirectory("/mydet/");
mydetDir->SetGuidance("Detector setup commands.");
selDetCmd = new G4UIcmdWithAString("/mydet/SelectDetector",this);
selDetCmd->SetGuidance("Select Detector Setup.");
selDetCmd->SetGuidance(" Choice : rod_place_asm / rod_solid ");
selDetCmd->SetParameterName("choice",true);
selDetCmd->SetDefaultValue("rod_place_asm");
selDetCmd->SetCandidates("rod_place_asm rod_solid");
selDetCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
switchCmd = new G4UIcmdWithAString("/mydet/SwitchDetector",this);
switchCmd->SetGuidance("Assign the selected geometry to G4RunManager.");
switchCmd->SetGuidance("In cese detector name is associated to this command,");
switchCmd->SetGuidance("\"/mydet/SelectDetector\" will be invoked and then switched.");
switchCmd->SetParameterName("choice",true);
switchCmd->SetDefaultValue(" ");
switchCmd->SetCandidates("rod_place_asm rod_solid \" \"");
switchCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
myDetector->SelectDetector(defParam="rod_place_asm");
}
void CadDetectorMessenger::SetNewValue(G4UIcommand* command, G4String newValues)
{
if( command == selDetCmd )
{
myDetector->SelectDetector(newValues);
}
if( command == switchCmd )
{
if(newValues=="rod_place_asm" || newValues=="CMSTracker")
{ myDetector->SelectDetector(newValues); }
}
return;
}
@@ -1,207 +0,0 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: CadPhysicsList.cc,v 1.1 2002/06/20 10:00:56 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-02 $
// ------------------------------------------------------------
#include "CadPhysicsList.hh"
#include "G4ParticleDefinition.hh"
#include "G4ParticleWithCuts.hh"
#include "G4ProcessManager.hh"
#include "G4ProcessVector.hh"
#include "G4ParticleTypes.hh"
#include "G4ParticleTable.hh"
#include "G4BosonConstructor.hh"
#include "G4LeptonConstructor.hh"
#include "G4MesonConstructor.hh"
#include "G4BaryonConstructor.hh"
#include "G4IonConstructor.hh"
#include "G4Material.hh"
#include "G4MaterialTable.hh"
CadPhysicsList::CadPhysicsList(): G4VUserPhysicsList()
{
SetVerboseLevel(1);
}
CadPhysicsList::~CadPhysicsList()
{
}
void CadPhysicsList::ConstructParticle()
{
// In this method, static member functions should be called
// for all particles which you want to use.
// This ensures that objects of these particle types will be
// created in the program.
ConstructBosons();
ConstructLeptons();
ConstructMesons();
ConstructBaryons();
ConstructIons();
}
void CadPhysicsList::ConstructBosons()
{
// Construct all bosons
G4BosonConstructor pConstructor;
pConstructor.ConstructParticle();
}
void CadPhysicsList::ConstructLeptons()
{
// Construct all leptons
G4LeptonConstructor pConstructor;
pConstructor.ConstructParticle();
}
void CadPhysicsList::ConstructMesons()
{
// Construct all mesons
G4MesonConstructor pConstructor;
pConstructor.ConstructParticle();
}
void CadPhysicsList::ConstructBaryons()
{
// Construct all barions
G4BaryonConstructor pConstructor;
pConstructor.ConstructParticle();
}
void CadPhysicsList::ConstructIons()
{
// Construct light ions
G4IonConstructor pConstructor;
pConstructor.ConstructParticle();
}
void CadPhysicsList::ConstructProcess()
{
AddTransportation();
ConstructEM();
ConstructLeptHad();
ConstructHad();
ConstructGeneral();
}
#include "G4ComptonScattering.hh"
#include "G4GammaConversion.hh"
#include "G4PhotoElectricEffect.hh"
#include "G4MultipleScattering.hh"
#include "G4eIonisation.hh"
#include "G4eBremsstrahlung.hh"
#include "G4eplusAnnihilation.hh"
#include "G4MuIonisation.hh"
#include "G4MuBremsstrahlung.hh"
#include "G4MuPairProduction.hh"
#include "G4hIonisation.hh"
void CadPhysicsList::ConstructEM()
{
theParticleIterator->reset();
while( (*theParticleIterator)() ){
G4ParticleDefinition* particle = theParticleIterator->value();
G4ProcessManager* pmanager = particle->GetProcessManager();
G4String particleName = particle->GetParticleName();
if (particleName == "gamma") {
// gamma
// Construct processes for gamma
pmanager->AddDiscreteProcess(new G4GammaConversion());
pmanager->AddDiscreteProcess(new G4ComptonScattering());
pmanager->AddDiscreteProcess(new G4PhotoElectricEffect());
} else if (particleName == "e-") {
//electron
// Construct processes for electron
pmanager->AddProcess(new G4MultipleScattering(),-1,1,1);
pmanager->AddProcess(new G4eIonisation(),-1,2,2);
pmanager->AddProcess(new G4eBremsstrahlung(),-1,-1,3);
} else if (particleName == "e+") {
//positron
// Construct processes for positron
pmanager->AddProcess(new G4MultipleScattering(),-1,1,1);
pmanager->AddProcess(new G4eIonisation(),-1,2,2);
pmanager->AddProcess(new G4eBremsstrahlung(),-1,-1,3);
pmanager->AddProcess(new G4eplusAnnihilation(),0,-1,4);
} else if( particleName == "mu+" ||
particleName == "mu-" ) {
//muon
// Construct processes for muon+
pmanager->AddProcess(new G4MultipleScattering(),-1,1,1);
pmanager->AddProcess(new G4MuIonisation(),-1,2,2);
pmanager->AddProcess(new G4MuBremsstrahlung(),-1,-1,3);
pmanager->AddProcess(new G4MuPairProduction(),-1,-1,4);
} else {
if ((particle->GetPDGCharge() != 0.0) &&
(particle->GetParticleName() != "chargedgeantino")) {
// all others charged particles except geantino
pmanager->AddProcess(new G4MultipleScattering(),-1,1,1);
pmanager->AddProcess(new G4hIonisation(),-1,2,2);
}
}
}
}
void CadPhysicsList::ConstructHad()
{;}
void CadPhysicsList::ConstructLeptHad()
{;}
#include "G4Decay.hh"
void CadPhysicsList::ConstructGeneral()
{
G4Decay* theDecayProcess = new G4Decay();
theParticleIterator->reset();
while( (*theParticleIterator)() ){
G4ParticleDefinition* particle = theParticleIterator->value();
G4ProcessManager* pmanager = particle->GetProcessManager();
if (theDecayProcess->IsApplicable(*particle)) {
pmanager->AddProcess(theDecayProcess, INT_MAX, -1, INT_MAX);
}
}
}
void CadPhysicsList::SetCuts()
{
if (verboseLevel >0){
G4cout << "CadPhysicsList::SetCuts:";
G4cout << "CutLength : " << defaultCutValue/mm << " (mm)" << G4endl;
}
// " G4VUserPhysicsList::SetCutsWithDefault" method sets
// the default cut value for all particle types
SetCutsWithDefault();
}
@@ -1,61 +0,0 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: CadPrimaryGeneratorAction.cc,v 1.1 2002/06/20 10:00:56 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-02 $
// ------------------------------------------------------------
#include "CadPrimaryGeneratorAction.hh"
#include "globals.hh"
#include "G4Event.hh"
#include "G4ParticleGun.hh"
#include "G4ParticleTable.hh"
#include "G4ParticleDefinition.hh"
CadPrimaryGeneratorAction::CadPrimaryGeneratorAction()
{
G4int n_particle = 1;
particleGun = new G4ParticleGun(n_particle);
// default particle
G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable();
G4String particleName;
G4ParticleDefinition* particle
= particleTable->FindParticle(particleName="e-");
particleGun->SetParticleDefinition(particle);
particleGun->SetParticleMomentumDirection(G4ThreeVector(1.,0.,0.));
particleGun->SetParticleEnergy(20.*MeV);
particleGun->SetParticlePosition(G4ThreeVector(0.*cm,0.*cm,0.*cm));
}
CadPrimaryGeneratorAction::~CadPrimaryGeneratorAction()
{
delete particleGun;
}
void CadPrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent)
{
particleGun->GeneratePrimaryVertex(anEvent);
}
@@ -1,51 +0,0 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: CadRunAction.cc,v 1.1 2002/06/20 10:00:56 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-02 $
// ------------------------------------------------------------
// Make this appear first!
#include "G4Timer.hh"
#include "CadRunAction.hh"
#include "G4Run.hh"
CadRunAction::CadRunAction()
{
timer = new G4Timer;
}
CadRunAction::~CadRunAction()
{
delete timer;
}
void CadRunAction::BeginOfRunAction(const G4Run* aRun)
{
timer->Start();
}
void CadRunAction::EndOfRunAction(const G4Run* aRun)
{
timer->Stop();
}
@@ -1,62 +0,0 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: CadVisManager.cc,v 1.2 2002/11/26 08:28:07 duns Exp $
// GEANT4 tag $Name: geant4-05-02 $
// --------------------------------------------------------------------
#ifdef G4VIS_USE
#include "CadVisManager.hh"
// Visualization drivers...
#include "G4ASCIITree.hh"
#include "G4DAWNFILE.hh"
#include "G4GAGTree.hh"
#include "G4HepRepFile.hh"
#include "G4HepRep.hh"
#include "G4RayTracer.hh"
CadVisManager::CadVisManager () {}
void CadVisManager::RegisterGraphicsSystems ()
{
RegisterGraphicsSystem (new G4ASCIITree);
RegisterGraphicsSystem (new G4DAWNFILE);
RegisterGraphicsSystem (new G4GAGTree);
RegisterGraphicsSystem (new G4HepRepFile);
RegisterGraphicsSystem (new G4HepRep);
RegisterGraphicsSystem (new G4RayTracer);
if (fVerbose > 0)
{
G4cout << G4endl
<< "You have successfully chosen to use"
<< " the following graphics systems:"
<< G4endl;
PrintAvailableGraphicsSystems ();
}
}
#endif
@@ -1,980 +0,0 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION((''),'1');
FILE_NAME('ROD_PLACE_ASM','1998-02-27T10:19:15',('oriunno'),(''),'PRO/ENGINEER BY PARAMETRIC TECHNOLOGY CORPORATION, 9718','PRO/ENGINEER BY PARAMETRIC TECHNOLOGY CORPORATION, 9718','');
FILE_SCHEMA(('CONFIG_CONTROL_DESIGN'));
ENDSEC;
DATA;
#1=DIRECTION('',(1.E0,0.E0,0.E0));
#2=VECTOR('',#1,2.41E3);
#3=CARTESIAN_POINT('',(-1.205E3,-7.E0,-7.8E1));
#4=LINE('',#3,#2);
#5=DIRECTION('',(0.E0,0.E0,-1.E0));
#6=VECTOR('',#5,1.4E1);
#7=CARTESIAN_POINT('',(-1.205E3,-7.E0,-6.4E1));
#8=LINE('',#7,#6);
#9=DIRECTION('',(0.E0,1.E0,0.E0));
#10=VECTOR('',#9,1.6E1);
#11=CARTESIAN_POINT('',(-1.205E3,-7.E0,-7.8E1));
#12=LINE('',#11,#10);
#13=DIRECTION('',(0.E0,0.E0,1.E0));
#14=VECTOR('',#13,1.4E1);
#15=CARTESIAN_POINT('',(-1.205E3,9.E0,-7.8E1));
#16=LINE('',#15,#14);
#17=DIRECTION('',(0.E0,-1.E0,0.E0));
#18=VECTOR('',#17,1.5E0);
#19=CARTESIAN_POINT('',(-1.205E3,9.E0,-6.4E1));
#20=LINE('',#19,#18);
#21=DIRECTION('',(0.E0,0.E0,1.E0));
#22=VECTOR('',#21,1.25E1);
#23=CARTESIAN_POINT('',(-1.205E3,7.5E0,-7.65E1));
#24=LINE('',#23,#22);
#25=DIRECTION('',(0.E0,1.E0,0.E0));
#26=VECTOR('',#25,1.3E1);
#27=CARTESIAN_POINT('',(-1.205E3,-5.5E0,-7.65E1));
#28=LINE('',#27,#26);
#29=DIRECTION('',(0.E0,0.E0,-1.E0));
#30=VECTOR('',#29,1.25E1);
#31=CARTESIAN_POINT('',(-1.205E3,-5.5E0,-6.4E1));
#32=LINE('',#31,#30);
#33=DIRECTION('',(0.E0,-1.E0,0.E0));
#34=VECTOR('',#33,1.5E0);
#35=CARTESIAN_POINT('',(-1.205E3,-5.5E0,-6.4E1));
#36=LINE('',#35,#34);
#37=DIRECTION('',(1.E0,0.E0,0.E0));
#38=VECTOR('',#37,2.41E3);
#39=CARTESIAN_POINT('',(-1.205E3,-7.E0,-6.4E1));
#40=LINE('',#39,#38);
#41=DIRECTION('',(1.E0,0.E0,0.E0));
#42=VECTOR('',#41,2.41E3);
#43=CARTESIAN_POINT('',(-1.205E3,9.E0,-6.4E1));
#44=LINE('',#43,#42);
#45=DIRECTION('',(1.E0,0.E0,0.E0));
#46=VECTOR('',#45,2.41E3);
#47=CARTESIAN_POINT('',(-1.205E3,7.5E0,-6.4E1));
#48=LINE('',#47,#46);
#49=DIRECTION('',(1.E0,0.E0,0.E0));
#50=VECTOR('',#49,2.41E3);
#51=CARTESIAN_POINT('',(-1.205E3,-5.5E0,-6.4E1));
#52=LINE('',#51,#50);
#53=DIRECTION('',(1.E0,0.E0,0.E0));
#54=VECTOR('',#53,2.41E3);
#55=CARTESIAN_POINT('',(-1.205E3,-5.5E0,-7.65E1));
#56=LINE('',#55,#54);
#57=DIRECTION('',(1.E0,0.E0,0.E0));
#58=VECTOR('',#57,2.41E3);
#59=CARTESIAN_POINT('',(-1.205E3,7.5E0,-7.65E1));
#60=LINE('',#59,#58);
#61=DIRECTION('',(0.E0,0.E0,1.E0));
#62=VECTOR('',#61,1.4E1);
#63=CARTESIAN_POINT('',(1.205E3,9.E0,-7.8E1));
#64=LINE('',#63,#62);
#65=DIRECTION('',(0.E0,1.E0,0.E0));
#66=VECTOR('',#65,1.6E1);
#67=CARTESIAN_POINT('',(1.205E3,-7.E0,-7.8E1));
#68=LINE('',#67,#66);
#69=DIRECTION('',(0.E0,0.E0,-1.E0));
#70=VECTOR('',#69,1.4E1);
#71=CARTESIAN_POINT('',(1.205E3,-7.E0,-6.4E1));
#72=LINE('',#71,#70);
#73=DIRECTION('',(0.E0,-1.E0,0.E0));
#74=VECTOR('',#73,1.5E0);
#75=CARTESIAN_POINT('',(1.205E3,-5.5E0,-6.4E1));
#76=LINE('',#75,#74);
#77=DIRECTION('',(0.E0,0.E0,-1.E0));
#78=VECTOR('',#77,1.25E1);
#79=CARTESIAN_POINT('',(1.205E3,-5.5E0,-6.4E1));
#80=LINE('',#79,#78);
#81=DIRECTION('',(0.E0,1.E0,0.E0));
#82=VECTOR('',#81,1.3E1);
#83=CARTESIAN_POINT('',(1.205E3,-5.5E0,-7.65E1));
#84=LINE('',#83,#82);
#85=DIRECTION('',(0.E0,0.E0,1.E0));
#86=VECTOR('',#85,1.25E1);
#87=CARTESIAN_POINT('',(1.205E3,7.5E0,-7.65E1));
#88=LINE('',#87,#86);
#89=DIRECTION('',(0.E0,-1.E0,0.E0));
#90=VECTOR('',#89,1.5E0);
#91=CARTESIAN_POINT('',(1.205E3,9.E0,-6.4E1));
#92=LINE('',#91,#90);
#93=DIRECTION('',(1.E0,0.E0,0.E0));
#94=VECTOR('',#93,2.41E3);
#95=CARTESIAN_POINT('',(-1.205E3,9.E0,-7.8E1));
#96=LINE('',#95,#94);
#97=CARTESIAN_POINT('',(-1.205E3,-7.E0,-7.8E1));
#98=CARTESIAN_POINT('',(-1.205E3,9.E0,-7.8E1));
#99=VERTEX_POINT('','',#97);
#100=VERTEX_POINT('','',#98);
#101=CARTESIAN_POINT('',(-1.205E3,9.E0,-6.4E1));
#102=VERTEX_POINT('','',#101);
#103=CARTESIAN_POINT('',(-1.205E3,-7.E0,-6.4E1));
#104=VERTEX_POINT('','',#103);
#105=CARTESIAN_POINT('',(1.205E3,-7.E0,-7.8E1));
#106=CARTESIAN_POINT('',(1.205E3,9.E0,-7.8E1));
#107=VERTEX_POINT('','',#105);
#108=VERTEX_POINT('','',#106);
#109=CARTESIAN_POINT('',(1.205E3,9.E0,-6.4E1));
#110=VERTEX_POINT('','',#109);
#111=CARTESIAN_POINT('',(1.205E3,-7.E0,-6.4E1));
#112=VERTEX_POINT('','',#111);
#113=CARTESIAN_POINT('',(-1.205E3,-5.5E0,-7.65E1));
#114=CARTESIAN_POINT('',(-1.205E3,7.5E0,-7.65E1));
#115=VERTEX_POINT('','',#113);
#116=VERTEX_POINT('','',#114);
#117=CARTESIAN_POINT('',(-1.205E3,7.5E0,-6.4E1));
#118=VERTEX_POINT('','',#117);
#119=CARTESIAN_POINT('',(-1.205E3,-5.5E0,-6.4E1));
#120=VERTEX_POINT('','',#119);
#121=CARTESIAN_POINT('',(1.205E3,-5.5E0,-7.65E1));
#122=CARTESIAN_POINT('',(1.205E3,7.5E0,-7.65E1));
#123=VERTEX_POINT('','',#121);
#124=VERTEX_POINT('','',#122);
#125=CARTESIAN_POINT('',(1.205E3,7.5E0,-6.4E1));
#126=VERTEX_POINT('','',#125);
#127=CARTESIAN_POINT('',(1.205E3,-5.5E0,-6.4E1));
#128=VERTEX_POINT('','',#127);
#129=CARTESIAN_POINT('',(-1.205E3,-7.E0,-7.8E1));
#130=DIRECTION('',(0.E0,0.E0,-1.E0));
#131=DIRECTION('',(0.E0,1.E0,0.E0));
#132=AXIS2_PLACEMENT_3D('',#129,#130,#131);
#133=PLANE('',#132);
#135=ORIENTED_EDGE('',*,*,#134,.F.);
#137=ORIENTED_EDGE('',*,*,#136,.T.);
#139=ORIENTED_EDGE('',*,*,#138,.T.);
#141=ORIENTED_EDGE('',*,*,#140,.F.);
#142=EDGE_LOOP('','',(#135,#137,#139,#141));
#143=FACE_OUTER_BOUND('',#142,.F.);
#144=ADVANCED_FACE('',(#143),'' ,#133,.T.);
#145=CARTESIAN_POINT('',(-1.205E3,0.E0,0.E0));
#146=DIRECTION('',(1.E0,0.E0,0.E0));
#147=DIRECTION('',(0.E0,0.E0,1.E0));
#148=AXIS2_PLACEMENT_3D('',#145,#146,#147);
#149=PLANE('',#148);
#151=ORIENTED_EDGE('',*,*,#150,.T.);
#152=ORIENTED_EDGE('',*,*,#134,.T.);
#154=ORIENTED_EDGE('',*,*,#153,.T.);
#156=ORIENTED_EDGE('',*,*,#155,.T.);
#158=ORIENTED_EDGE('',*,*,#157,.F.);
#160=ORIENTED_EDGE('',*,*,#159,.F.);
#162=ORIENTED_EDGE('',*,*,#161,.F.);
#164=ORIENTED_EDGE('',*,*,#163,.T.);
#165=EDGE_LOOP('','',(#151,#152,#154,#156,#158,#160,#162,#164));
#166=FACE_OUTER_BOUND('',#165,.F.);
#167=ADVANCED_FACE('',(#166),'' ,#149,.F.);
#168=CARTESIAN_POINT('',(-1.205E3,-7.E0,-6.4E1));
#169=DIRECTION('',(0.E0,-1.E0,0.E0));
#170=DIRECTION('',(0.E0,0.E0,-1.E0));
#171=AXIS2_PLACEMENT_3D('',#168,#169,#170);
#172=PLANE('',#171);
#173=ORIENTED_EDGE('',*,*,#150,.F.);
#175=ORIENTED_EDGE('',*,*,#174,.T.);
#177=ORIENTED_EDGE('',*,*,#176,.T.);
#178=ORIENTED_EDGE('',*,*,#136,.F.);
#179=EDGE_LOOP('','',(#173,#175,#177,#178));
#180=FACE_OUTER_BOUND('',#179,.F.);
#181=ADVANCED_FACE('',(#180),'' ,#172,.T.);
#182=CARTESIAN_POINT('',(-1.205E3,9.E0,-6.4E1));
#183=DIRECTION('',(0.E0,0.E0,1.E0));
#184=DIRECTION('',(0.E0,-1.E0,0.E0));
#185=AXIS2_PLACEMENT_3D('',#182,#183,#184);
#186=PLANE('',#185);
#188=ORIENTED_EDGE('',*,*,#187,.T.);
#190=ORIENTED_EDGE('',*,*,#189,.T.);
#191=ORIENTED_EDGE('',*,*,#174,.F.);
#192=ORIENTED_EDGE('',*,*,#163,.F.);
#193=EDGE_LOOP('','',(#188,#190,#191,#192));
#194=FACE_OUTER_BOUND('',#193,.F.);
#195=ADVANCED_FACE('',(#194),'' ,#186,.T.);
#196=CARTESIAN_POINT('',(-1.205E3,9.E0,-6.4E1));
#197=DIRECTION('',(0.E0,0.E0,1.E0));
#198=DIRECTION('',(0.E0,-1.E0,0.E0));
#199=AXIS2_PLACEMENT_3D('',#196,#197,#198);
#200=PLANE('',#199);
#202=ORIENTED_EDGE('',*,*,#201,.T.);
#204=ORIENTED_EDGE('',*,*,#203,.T.);
#206=ORIENTED_EDGE('',*,*,#205,.F.);
#207=ORIENTED_EDGE('',*,*,#155,.F.);
#208=EDGE_LOOP('','',(#202,#204,#206,#207));
#209=FACE_OUTER_BOUND('',#208,.F.);
#210=ADVANCED_FACE('',(#209),'' ,#200,.T.);
#211=CARTESIAN_POINT('',(-1.205E3,-5.5E0,-6.4E1));
#212=DIRECTION('',(0.E0,-1.E0,0.E0));
#213=DIRECTION('',(0.E0,0.E0,-1.E0));
#214=AXIS2_PLACEMENT_3D('',#211,#212,#213);
#215=PLANE('',#214);
#216=ORIENTED_EDGE('',*,*,#161,.T.);
#218=ORIENTED_EDGE('',*,*,#217,.T.);
#220=ORIENTED_EDGE('',*,*,#219,.F.);
#221=ORIENTED_EDGE('',*,*,#187,.F.);
#222=EDGE_LOOP('','',(#216,#218,#220,#221));
#223=FACE_OUTER_BOUND('',#222,.F.);
#224=ADVANCED_FACE('',(#223),'' ,#215,.F.);
#225=CARTESIAN_POINT('',(-1.205E3,-7.E0,-7.65E1));
#226=DIRECTION('',(0.E0,0.E0,-1.E0));
#227=DIRECTION('',(0.E0,1.E0,0.E0));
#228=AXIS2_PLACEMENT_3D('',#225,#226,#227);
#229=PLANE('',#228);
#230=ORIENTED_EDGE('',*,*,#159,.T.);
#232=ORIENTED_EDGE('',*,*,#231,.T.);
#234=ORIENTED_EDGE('',*,*,#233,.F.);
#235=ORIENTED_EDGE('',*,*,#217,.F.);
#236=EDGE_LOOP('','',(#230,#232,#234,#235));
#237=FACE_OUTER_BOUND('',#236,.F.);
#238=ADVANCED_FACE('',(#237),'' ,#229,.F.);
#239=CARTESIAN_POINT('',(-1.205E3,7.5E0,-7.8E1));
#240=DIRECTION('',(0.E0,1.E0,0.E0));
#241=DIRECTION('',(0.E0,0.E0,1.E0));
#242=AXIS2_PLACEMENT_3D('',#239,#240,#241);
#243=PLANE('',#242);
#244=ORIENTED_EDGE('',*,*,#157,.T.);
#245=ORIENTED_EDGE('',*,*,#205,.T.);
#247=ORIENTED_EDGE('',*,*,#246,.F.);
#248=ORIENTED_EDGE('',*,*,#231,.F.);
#249=EDGE_LOOP('','',(#244,#245,#247,#248));
#250=FACE_OUTER_BOUND('',#249,.F.);
#251=ADVANCED_FACE('',(#250),'' ,#243,.F.);
#252=CARTESIAN_POINT('',(1.205E3,0.E0,0.E0));
#253=DIRECTION('',(1.E0,0.E0,0.E0));
#254=DIRECTION('',(0.E0,0.E0,1.E0));
#255=AXIS2_PLACEMENT_3D('',#252,#253,#254);
#256=PLANE('',#255);
#258=ORIENTED_EDGE('',*,*,#257,.F.);
#259=ORIENTED_EDGE('',*,*,#138,.F.);
#260=ORIENTED_EDGE('',*,*,#176,.F.);
#261=ORIENTED_EDGE('',*,*,#189,.F.);
#262=ORIENTED_EDGE('',*,*,#219,.T.);
#263=ORIENTED_EDGE('',*,*,#233,.T.);
#264=ORIENTED_EDGE('',*,*,#246,.T.);
#265=ORIENTED_EDGE('',*,*,#203,.F.);
#266=EDGE_LOOP('','',(#258,#259,#260,#261,#262,#263,#264,#265));
#267=FACE_OUTER_BOUND('',#266,.F.);
#268=ADVANCED_FACE('',(#267),'' ,#256,.T.);
#269=CARTESIAN_POINT('',(-1.205E3,9.E0,-7.8E1));
#270=DIRECTION('',(0.E0,1.E0,0.E0));
#271=DIRECTION('',(0.E0,0.E0,1.E0));
#272=AXIS2_PLACEMENT_3D('',#269,#270,#271);
#273=PLANE('',#272);
#274=ORIENTED_EDGE('',*,*,#153,.F.);
#275=ORIENTED_EDGE('',*,*,#140,.T.);
#276=ORIENTED_EDGE('',*,*,#257,.T.);
#277=ORIENTED_EDGE('',*,*,#201,.F.);
#278=EDGE_LOOP('','',(#274,#275,#276,#277));
#279=FACE_OUTER_BOUND('',#278,.F.);
#280=ADVANCED_FACE('',(#279),'' ,#273,.T.);
#281=CLOSED_SHELL('',(#144,#167,#181,#195,#210,#224,#238,#251,#268,#280));
#282=MANIFOLD_SOLID_BREP('',#281);
#283=DIRECTION('',(1.E0,0.E0,0.E0));
#284=VECTOR('',#283,2.41E3);
#285=CARTESIAN_POINT('',(-1.205E3,9.E0,6.4E1));
#286=LINE('',#285,#284);
#287=DIRECTION('',(0.E0,0.E0,1.E0));
#288=VECTOR('',#287,1.4E1);
#289=CARTESIAN_POINT('',(-1.205E3,9.E0,6.4E1));
#290=LINE('',#289,#288);
#291=DIRECTION('',(0.E0,-1.E0,0.E0));
#292=VECTOR('',#291,1.6E1);
#293=CARTESIAN_POINT('',(-1.205E3,9.E0,7.8E1));
#294=LINE('',#293,#292);
#295=DIRECTION('',(0.E0,0.E0,-1.E0));
#296=VECTOR('',#295,1.4E1);
#297=CARTESIAN_POINT('',(-1.205E3,-7.E0,7.8E1));
#298=LINE('',#297,#296);
#299=DIRECTION('',(0.E0,1.E0,0.E0));
#300=VECTOR('',#299,1.5E0);
#301=CARTESIAN_POINT('',(-1.205E3,-7.E0,6.4E1));
#302=LINE('',#301,#300);
#303=DIRECTION('',(0.E0,0.E0,-1.E0));
#304=VECTOR('',#303,1.25E1);
#305=CARTESIAN_POINT('',(-1.205E3,-5.5E0,7.65E1));
#306=LINE('',#305,#304);
#307=DIRECTION('',(0.E0,-1.E0,0.E0));
#308=VECTOR('',#307,1.3E1);
#309=CARTESIAN_POINT('',(-1.205E3,7.5E0,7.65E1));
#310=LINE('',#309,#308);
#311=DIRECTION('',(0.E0,0.E0,1.E0));
#312=VECTOR('',#311,1.25E1);
#313=CARTESIAN_POINT('',(-1.205E3,7.5E0,6.4E1));
#314=LINE('',#313,#312);
#315=DIRECTION('',(0.E0,1.E0,0.E0));
#316=VECTOR('',#315,1.5E0);
#317=CARTESIAN_POINT('',(-1.205E3,7.5E0,6.4E1));
#318=LINE('',#317,#316);
#319=DIRECTION('',(1.E0,0.E0,0.E0));
#320=VECTOR('',#319,2.41E3);
#321=CARTESIAN_POINT('',(-1.205E3,9.E0,7.8E1));
#322=LINE('',#321,#320);
#323=DIRECTION('',(0.E0,0.E0,-1.E0));
#324=VECTOR('',#323,1.4E1);
#325=CARTESIAN_POINT('',(1.205E3,-7.E0,7.8E1));
#326=LINE('',#325,#324);
#327=DIRECTION('',(0.E0,-1.E0,0.E0));
#328=VECTOR('',#327,1.6E1);
#329=CARTESIAN_POINT('',(1.205E3,9.E0,7.8E1));
#330=LINE('',#329,#328);
#331=DIRECTION('',(0.E0,0.E0,1.E0));
#332=VECTOR('',#331,1.4E1);
#333=CARTESIAN_POINT('',(1.205E3,9.E0,6.4E1));
#334=LINE('',#333,#332);
#335=DIRECTION('',(0.E0,1.E0,0.E0));
#336=VECTOR('',#335,1.5E0);
#337=CARTESIAN_POINT('',(1.205E3,7.5E0,6.4E1));
#338=LINE('',#337,#336);
#339=DIRECTION('',(0.E0,0.E0,1.E0));
#340=VECTOR('',#339,1.25E1);
#341=CARTESIAN_POINT('',(1.205E3,7.5E0,6.4E1));
#342=LINE('',#341,#340);
#343=DIRECTION('',(0.E0,-1.E0,0.E0));
#344=VECTOR('',#343,1.3E1);
#345=CARTESIAN_POINT('',(1.205E3,7.5E0,7.65E1));
#346=LINE('',#345,#344);
#347=DIRECTION('',(0.E0,0.E0,-1.E0));
#348=VECTOR('',#347,1.25E1);
#349=CARTESIAN_POINT('',(1.205E3,-5.5E0,7.65E1));
#350=LINE('',#349,#348);
#351=DIRECTION('',(0.E0,1.E0,0.E0));
#352=VECTOR('',#351,1.5E0);
#353=CARTESIAN_POINT('',(1.205E3,-7.E0,6.4E1));
#354=LINE('',#353,#352);
#355=DIRECTION('',(1.E0,0.E0,0.E0));
#356=VECTOR('',#355,2.41E3);
#357=CARTESIAN_POINT('',(-1.205E3,-7.E0,7.8E1));
#358=LINE('',#357,#356);
#359=DIRECTION('',(1.E0,0.E0,0.E0));
#360=VECTOR('',#359,2.41E3);
#361=CARTESIAN_POINT('',(-1.205E3,-7.E0,6.4E1));
#362=LINE('',#361,#360);
#363=DIRECTION('',(1.E0,0.E0,0.E0));
#364=VECTOR('',#363,2.41E3);
#365=CARTESIAN_POINT('',(-1.205E3,-5.5E0,6.4E1));
#366=LINE('',#365,#364);
#367=DIRECTION('',(1.E0,0.E0,0.E0));
#368=VECTOR('',#367,2.41E3);
#369=CARTESIAN_POINT('',(-1.205E3,7.5E0,6.4E1));
#370=LINE('',#369,#368);
#371=DIRECTION('',(1.E0,0.E0,0.E0));
#372=VECTOR('',#371,2.41E3);
#373=CARTESIAN_POINT('',(-1.205E3,7.5E0,7.65E1));
#374=LINE('',#373,#372);
#375=DIRECTION('',(1.E0,0.E0,0.E0));
#376=VECTOR('',#375,2.41E3);
#377=CARTESIAN_POINT('',(-1.205E3,-5.5E0,7.65E1));
#378=LINE('',#377,#376);
#379=CARTESIAN_POINT('',(-1.205E3,9.E0,6.4E1));
#380=CARTESIAN_POINT('',(-1.205E3,9.E0,7.8E1));
#381=VERTEX_POINT('','',#379);
#382=VERTEX_POINT('','',#380);
#383=CARTESIAN_POINT('',(-1.205E3,-7.E0,7.8E1));
#384=VERTEX_POINT('','',#383);
#385=CARTESIAN_POINT('',(-1.205E3,-7.E0,6.4E1));
#386=VERTEX_POINT('','',#385);
#387=CARTESIAN_POINT('',(1.205E3,9.E0,6.4E1));
#388=CARTESIAN_POINT('',(1.205E3,9.E0,7.8E1));
#389=VERTEX_POINT('','',#387);
#390=VERTEX_POINT('','',#388);
#391=CARTESIAN_POINT('',(1.205E3,-7.E0,7.8E1));
#392=VERTEX_POINT('','',#391);
#393=CARTESIAN_POINT('',(1.205E3,-7.E0,6.4E1));
#394=VERTEX_POINT('','',#393);
#395=CARTESIAN_POINT('',(-1.205E3,7.5E0,6.4E1));
#396=CARTESIAN_POINT('',(-1.205E3,7.5E0,7.65E1));
#397=VERTEX_POINT('','',#395);
#398=VERTEX_POINT('','',#396);
#399=CARTESIAN_POINT('',(-1.205E3,-5.5E0,7.65E1));
#400=VERTEX_POINT('','',#399);
#401=CARTESIAN_POINT('',(-1.205E3,-5.5E0,6.4E1));
#402=VERTEX_POINT('','',#401);
#403=CARTESIAN_POINT('',(1.205E3,7.5E0,6.4E1));
#404=CARTESIAN_POINT('',(1.205E3,7.5E0,7.65E1));
#405=VERTEX_POINT('','',#403);
#406=VERTEX_POINT('','',#404);
#407=CARTESIAN_POINT('',(1.205E3,-5.5E0,7.65E1));
#408=VERTEX_POINT('','',#407);
#409=CARTESIAN_POINT('',(1.205E3,-5.5E0,6.4E1));
#410=VERTEX_POINT('','',#409);
#411=CARTESIAN_POINT('',(-1.205E3,9.E0,6.4E1));
#412=DIRECTION('',(0.E0,1.E0,0.E0));
#413=DIRECTION('',(0.E0,0.E0,1.E0));
#414=AXIS2_PLACEMENT_3D('',#411,#412,#413);
#415=PLANE('',#414);
#417=ORIENTED_EDGE('',*,*,#416,.F.);
#419=ORIENTED_EDGE('',*,*,#418,.T.);
#421=ORIENTED_EDGE('',*,*,#420,.T.);
#423=ORIENTED_EDGE('',*,*,#422,.F.);
#424=EDGE_LOOP('','',(#417,#419,#421,#423));
#425=FACE_OUTER_BOUND('',#424,.F.);
#426=ADVANCED_FACE('',(#425),'' ,#415,.T.);
#427=CARTESIAN_POINT('',(-1.205E3,0.E0,0.E0));
#428=DIRECTION('',(1.E0,0.E0,0.E0));
#429=DIRECTION('',(0.E0,0.E0,1.E0));
#430=AXIS2_PLACEMENT_3D('',#427,#428,#429);
#431=PLANE('',#430);
#432=ORIENTED_EDGE('',*,*,#416,.T.);
#434=ORIENTED_EDGE('',*,*,#433,.T.);
#436=ORIENTED_EDGE('',*,*,#435,.T.);
#438=ORIENTED_EDGE('',*,*,#437,.T.);
#440=ORIENTED_EDGE('',*,*,#439,.F.);
#442=ORIENTED_EDGE('',*,*,#441,.F.);
#444=ORIENTED_EDGE('',*,*,#443,.F.);
#446=ORIENTED_EDGE('',*,*,#445,.T.);
#447=EDGE_LOOP('','',(#432,#434,#436,#438,#440,#442,#444,#446));
#448=FACE_OUTER_BOUND('',#447,.F.);
#449=ADVANCED_FACE('',(#448),'' ,#431,.F.);
#450=CARTESIAN_POINT('',(-1.205E3,9.E0,7.8E1));
#451=DIRECTION('',(0.E0,0.E0,1.E0));
#452=DIRECTION('',(0.E0,-1.E0,0.E0));
#453=AXIS2_PLACEMENT_3D('',#450,#451,#452);
#454=PLANE('',#453);
#455=ORIENTED_EDGE('',*,*,#433,.F.);
#456=ORIENTED_EDGE('',*,*,#422,.T.);
#458=ORIENTED_EDGE('',*,*,#457,.T.);
#460=ORIENTED_EDGE('',*,*,#459,.F.);
#461=EDGE_LOOP('','',(#455,#456,#458,#460));
#462=FACE_OUTER_BOUND('',#461,.F.);
#463=ADVANCED_FACE('',(#462),'' ,#454,.T.);
#464=CARTESIAN_POINT('',(1.205E3,0.E0,0.E0));
#465=DIRECTION('',(1.E0,0.E0,0.E0));
#466=DIRECTION('',(0.E0,0.E0,1.E0));
#467=AXIS2_PLACEMENT_3D('',#464,#465,#466);
#468=PLANE('',#467);
#470=ORIENTED_EDGE('',*,*,#469,.F.);
#471=ORIENTED_EDGE('',*,*,#457,.F.);
#472=ORIENTED_EDGE('',*,*,#420,.F.);
#474=ORIENTED_EDGE('',*,*,#473,.F.);
#476=ORIENTED_EDGE('',*,*,#475,.T.);
#478=ORIENTED_EDGE('',*,*,#477,.T.);
#480=ORIENTED_EDGE('',*,*,#479,.T.);
#482=ORIENTED_EDGE('',*,*,#481,.F.);
#483=EDGE_LOOP('','',(#470,#471,#472,#474,#476,#478,#480,#482));
#484=FACE_OUTER_BOUND('',#483,.F.);
#485=ADVANCED_FACE('',(#484),'' ,#468,.T.);
#486=CARTESIAN_POINT('',(-1.205E3,-7.E0,7.8E1));
#487=DIRECTION('',(0.E0,-1.E0,0.E0));
#488=DIRECTION('',(0.E0,0.E0,-1.E0));
#489=AXIS2_PLACEMENT_3D('',#486,#487,#488);
#490=PLANE('',#489);
#491=ORIENTED_EDGE('',*,*,#435,.F.);
#492=ORIENTED_EDGE('',*,*,#459,.T.);
#493=ORIENTED_EDGE('',*,*,#469,.T.);
#495=ORIENTED_EDGE('',*,*,#494,.F.);
#496=EDGE_LOOP('','',(#491,#492,#493,#495));
#497=FACE_OUTER_BOUND('',#496,.F.);
#498=ADVANCED_FACE('',(#497),'' ,#490,.T.);
#499=CARTESIAN_POINT('',(-1.205E3,-7.E0,6.4E1));
#500=DIRECTION('',(0.E0,0.E0,-1.E0));
#501=DIRECTION('',(0.E0,1.E0,0.E0));
#502=AXIS2_PLACEMENT_3D('',#499,#500,#501);
#503=PLANE('',#502);
#505=ORIENTED_EDGE('',*,*,#504,.T.);
#506=ORIENTED_EDGE('',*,*,#473,.T.);
#507=ORIENTED_EDGE('',*,*,#418,.F.);
#508=ORIENTED_EDGE('',*,*,#445,.F.);
#509=EDGE_LOOP('','',(#505,#506,#507,#508));
#510=FACE_OUTER_BOUND('',#509,.F.);
#511=ADVANCED_FACE('',(#510),'' ,#503,.T.);
#512=CARTESIAN_POINT('',(-1.205E3,-7.E0,6.4E1));
#513=DIRECTION('',(0.E0,0.E0,-1.E0));
#514=DIRECTION('',(0.E0,1.E0,0.E0));
#515=AXIS2_PLACEMENT_3D('',#512,#513,#514);
#516=PLANE('',#515);
#517=ORIENTED_EDGE('',*,*,#494,.T.);
#518=ORIENTED_EDGE('',*,*,#481,.T.);
#520=ORIENTED_EDGE('',*,*,#519,.F.);
#521=ORIENTED_EDGE('',*,*,#437,.F.);
#522=EDGE_LOOP('','',(#517,#518,#520,#521));
#523=FACE_OUTER_BOUND('',#522,.F.);
#524=ADVANCED_FACE('',(#523),'' ,#516,.T.);
#525=CARTESIAN_POINT('',(-1.205E3,7.5E0,6.4E1));
#526=DIRECTION('',(0.E0,1.E0,0.E0));
#527=DIRECTION('',(0.E0,0.E0,1.E0));
#528=AXIS2_PLACEMENT_3D('',#525,#526,#527);
#529=PLANE('',#528);
#530=ORIENTED_EDGE('',*,*,#443,.T.);
#532=ORIENTED_EDGE('',*,*,#531,.T.);
#533=ORIENTED_EDGE('',*,*,#475,.F.);
#534=ORIENTED_EDGE('',*,*,#504,.F.);
#535=EDGE_LOOP('','',(#530,#532,#533,#534));
#536=FACE_OUTER_BOUND('',#535,.F.);
#537=ADVANCED_FACE('',(#536),'' ,#529,.F.);
#538=CARTESIAN_POINT('',(-1.205E3,9.E0,7.65E1));
#539=DIRECTION('',(0.E0,0.E0,1.E0));
#540=DIRECTION('',(0.E0,-1.E0,0.E0));
#541=AXIS2_PLACEMENT_3D('',#538,#539,#540);
#542=PLANE('',#541);
#543=ORIENTED_EDGE('',*,*,#441,.T.);
#545=ORIENTED_EDGE('',*,*,#544,.T.);
#546=ORIENTED_EDGE('',*,*,#477,.F.);
#547=ORIENTED_EDGE('',*,*,#531,.F.);
#548=EDGE_LOOP('','',(#543,#545,#546,#547));
#549=FACE_OUTER_BOUND('',#548,.F.);
#550=ADVANCED_FACE('',(#549),'' ,#542,.F.);
#551=CARTESIAN_POINT('',(-1.205E3,-5.5E0,7.8E1));
#552=DIRECTION('',(0.E0,-1.E0,0.E0));
#553=DIRECTION('',(0.E0,0.E0,-1.E0));
#554=AXIS2_PLACEMENT_3D('',#551,#552,#553);
#555=PLANE('',#554);
#556=ORIENTED_EDGE('',*,*,#439,.T.);
#557=ORIENTED_EDGE('',*,*,#519,.T.);
#558=ORIENTED_EDGE('',*,*,#479,.F.);
#559=ORIENTED_EDGE('',*,*,#544,.F.);
#560=EDGE_LOOP('','',(#556,#557,#558,#559));
#561=FACE_OUTER_BOUND('',#560,.F.);
#562=ADVANCED_FACE('',(#561),'' ,#555,.F.);
#563=CLOSED_SHELL('',(#426,#449,#463,#485,#498,#511,#524,#537,#550,#562));
#564=MANIFOLD_SOLID_BREP('',#563);
#565=(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.MILLI.,.METRE.));
#566=DIMENSIONAL_EXPONENTS(0.E0,0.E0,0.E0,0.E0,0.E0,0.E0,0.E0);
#567=(NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.));
#568=PLANE_ANGLE_MEASURE_WITH_UNIT(PLANE_ANGLE_MEASURE(1.745329251994E-2),#567);
#569=(CONVERSION_BASED_UNIT('DEGREE',#568)NAMED_UNIT(#566)PLANE_ANGLE_UNIT());
#570=(NAMED_UNIT(*)SI_UNIT($,.STERADIAN.)SOLID_ANGLE_UNIT());
#571=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(2.415000081568E-1),#565,'closure','Maximum model space distance between geometric entities at asserted connectivities');
#572=(GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#571))GLOBAL_UNIT_ASSIGNED_CONTEXT((#565,#569,#570))REPRESENTATION_CONTEXT('ID1','3'));
#573=CARTESIAN_POINT('',(0.E0,0.E0,0.E0));
#574=DIRECTION('',(0.E0,0.E0,1.E0));
#575=DIRECTION('',(1.E0,0.E0,0.E0));
#576=AXIS2_PLACEMENT_3D('',#573,#574,#575);
#578=APPLICATION_CONTEXT('CONFIGURATION CONTROLLED 3D DESIGNS OF MECHANICAL PARTS AND ASSEMBLIES');
#579=APPLICATION_PROTOCOL_DEFINITION('international standard','config_control_design',1994,#578);
#580=DESIGN_CONTEXT('',#578,'design');
#581=MECHANICAL_CONTEXT('',#578,'mechanical');
#582=PRODUCT('ROD','ROD','NOT SPECIFIED',(#581));
#583=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('6','LAST_VERSION',#582,
.MADE.);
#592=CARTESIAN_POINT('',(0.E0,0.E0,0.E0));
#593=DIRECTION('',(0.E0,0.E0,1.E0));
#594=DIRECTION('',(1.E0,0.E0,0.E0));
#595=AXIS2_PLACEMENT_3D('',#592,#593,#594);
#596=ITEM_DEFINED_TRANSFORMATION('','',#595,#576);
#597=(REPRESENTATION_RELATIONSHIP('','',#589,#577)REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#596)SHAPE_REPRESENTATION_RELATIONSHIP());
#598=CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#597,#591);
#599=DIRECTION('',(1.E0,0.E0,0.E0));
#600=VECTOR('',#599,3.4E2);
#601=CARTESIAN_POINT('',(-2.E2,-2.25E0,5.25E1));
#602=LINE('',#601,#600);
#603=DIRECTION('',(0.E0,0.E0,-1.E0));
#604=VECTOR('',#603,1.05E2);
#605=CARTESIAN_POINT('',(1.4E2,-2.25E0,5.25E1));
#606=LINE('',#605,#604);
#607=DIRECTION('',(-1.E0,0.E0,0.E0));
#608=VECTOR('',#607,3.4E2);
#609=CARTESIAN_POINT('',(1.4E2,-2.25E0,-5.25E1));
#610=LINE('',#609,#608);
#611=DIRECTION('',(0.E0,0.E0,1.E0));
#612=VECTOR('',#611,1.05E2);
#613=CARTESIAN_POINT('',(-2.E2,-2.25E0,-5.25E1));
#614=LINE('',#613,#612);
#615=DIRECTION('',(0.E0,1.E0,0.E0));
#616=VECTOR('',#615,4.5E0);
#617=CARTESIAN_POINT('',(-2.E2,-2.25E0,5.25E1));
#618=LINE('',#617,#616);
#619=DIRECTION('',(0.E0,1.E0,0.E0));
#620=VECTOR('',#619,4.5E0);
#621=CARTESIAN_POINT('',(-2.E2,-2.25E0,-5.25E1));
#622=LINE('',#621,#620);
#623=DIRECTION('',(0.E0,1.E0,0.E0));
#624=VECTOR('',#623,4.5E0);
#625=CARTESIAN_POINT('',(1.4E2,-2.25E0,-5.25E1));
#626=LINE('',#625,#624);
#627=DIRECTION('',(0.E0,1.E0,0.E0));
#628=VECTOR('',#627,4.5E0);
#629=CARTESIAN_POINT('',(1.4E2,-2.25E0,5.25E1));
#630=LINE('',#629,#628);
#631=DIRECTION('',(1.E0,0.E0,0.E0));
#632=VECTOR('',#631,3.4E2);
#633=CARTESIAN_POINT('',(-2.E2,2.25E0,5.25E1));
#634=LINE('',#633,#632);
#635=DIRECTION('',(0.E0,0.E0,1.E0));
#636=VECTOR('',#635,1.05E2);
#637=CARTESIAN_POINT('',(-2.E2,2.25E0,-5.25E1));
#638=LINE('',#637,#636);
#639=DIRECTION('',(-1.E0,0.E0,0.E0));
#640=VECTOR('',#639,3.4E2);
#641=CARTESIAN_POINT('',(1.4E2,2.25E0,-5.25E1));
#642=LINE('',#641,#640);
#643=DIRECTION('',(0.E0,0.E0,-1.E0));
#644=VECTOR('',#643,1.05E2);
#645=CARTESIAN_POINT('',(1.4E2,2.25E0,5.25E1));
#646=LINE('',#645,#644);
#647=CARTESIAN_POINT('',(-2.E2,-2.25E0,5.25E1));
#648=CARTESIAN_POINT('',(1.4E2,-2.25E0,5.25E1));
#649=VERTEX_POINT('','',#647);
#650=VERTEX_POINT('','',#648);
#651=CARTESIAN_POINT('',(1.4E2,-2.25E0,-5.25E1));
#652=VERTEX_POINT('','',#651);
#653=CARTESIAN_POINT('',(-2.E2,-2.25E0,-5.25E1));
#654=VERTEX_POINT('','',#653);
#655=CARTESIAN_POINT('',(-2.E2,2.25E0,5.25E1));
#656=CARTESIAN_POINT('',(1.4E2,2.25E0,5.25E1));
#657=VERTEX_POINT('','',#655);
#658=VERTEX_POINT('','',#656);
#659=CARTESIAN_POINT('',(1.4E2,2.25E0,-5.25E1));
#660=VERTEX_POINT('','',#659);
#661=CARTESIAN_POINT('',(-2.E2,2.25E0,-5.25E1));
#662=VERTEX_POINT('','',#661);
#663=CARTESIAN_POINT('',(0.E0,-2.25E0,0.E0));
#664=DIRECTION('',(0.E0,1.E0,0.E0));
#665=DIRECTION('',(0.E0,0.E0,-1.E0));
#666=AXIS2_PLACEMENT_3D('',#663,#664,#665);
#667=PLANE('',#666);
#669=ORIENTED_EDGE('',*,*,#668,.T.);
#671=ORIENTED_EDGE('',*,*,#670,.T.);
#673=ORIENTED_EDGE('',*,*,#672,.T.);
#675=ORIENTED_EDGE('',*,*,#674,.T.);
#676=EDGE_LOOP('','',(#669,#671,#673,#675));
#677=FACE_OUTER_BOUND('',#676,.F.);
#678=ADVANCED_FACE('',(#677),'' ,#667,.F.);
#679=CARTESIAN_POINT('',(-2.E2,-2.25E0,5.25E1));
#680=DIRECTION('',(0.E0,0.E0,1.E0));
#681=DIRECTION('',(1.E0,0.E0,0.E0));
#682=AXIS2_PLACEMENT_3D('',#679,#680,#681);
#683=PLANE('',#682);
#684=ORIENTED_EDGE('',*,*,#668,.F.);
#686=ORIENTED_EDGE('',*,*,#685,.T.);
#688=ORIENTED_EDGE('',*,*,#687,.T.);
#690=ORIENTED_EDGE('',*,*,#689,.F.);
#691=EDGE_LOOP('','',(#684,#686,#688,#690));
#692=FACE_OUTER_BOUND('',#691,.F.);
#693=ADVANCED_FACE('',(#692),'' ,#683,.T.);
#694=CARTESIAN_POINT('',(-2.E2,-2.25E0,-5.25E1));
#695=DIRECTION('',(-1.E0,0.E0,0.E0));
#696=DIRECTION('',(0.E0,0.E0,1.E0));
#697=AXIS2_PLACEMENT_3D('',#694,#695,#696);
#698=PLANE('',#697);
#699=ORIENTED_EDGE('',*,*,#674,.F.);
#701=ORIENTED_EDGE('',*,*,#700,.T.);
#703=ORIENTED_EDGE('',*,*,#702,.T.);
#704=ORIENTED_EDGE('',*,*,#685,.F.);
#705=EDGE_LOOP('','',(#699,#701,#703,#704));
#706=FACE_OUTER_BOUND('',#705,.F.);
#707=ADVANCED_FACE('',(#706),'' ,#698,.T.);
#708=CARTESIAN_POINT('',(1.4E2,-2.25E0,-5.25E1));
#709=DIRECTION('',(0.E0,0.E0,-1.E0));
#710=DIRECTION('',(-1.E0,0.E0,0.E0));
#711=AXIS2_PLACEMENT_3D('',#708,#709,#710);
#712=PLANE('',#711);
#713=ORIENTED_EDGE('',*,*,#672,.F.);
#715=ORIENTED_EDGE('',*,*,#714,.T.);
#717=ORIENTED_EDGE('',*,*,#716,.T.);
#718=ORIENTED_EDGE('',*,*,#700,.F.);
#719=EDGE_LOOP('','',(#713,#715,#717,#718));
#720=FACE_OUTER_BOUND('',#719,.F.);
#721=ADVANCED_FACE('',(#720),'' ,#712,.T.);
#722=CARTESIAN_POINT('',(1.4E2,-2.25E0,5.25E1));
#723=DIRECTION('',(1.E0,0.E0,0.E0));
#724=DIRECTION('',(0.E0,0.E0,-1.E0));
#725=AXIS2_PLACEMENT_3D('',#722,#723,#724);
#726=PLANE('',#725);
#727=ORIENTED_EDGE('',*,*,#670,.F.);
#728=ORIENTED_EDGE('',*,*,#689,.T.);
#730=ORIENTED_EDGE('',*,*,#729,.T.);
#731=ORIENTED_EDGE('',*,*,#714,.F.);
#732=EDGE_LOOP('','',(#727,#728,#730,#731));
#733=FACE_OUTER_BOUND('',#732,.F.);
#734=ADVANCED_FACE('',(#733),'' ,#726,.T.);
#735=CARTESIAN_POINT('',(0.E0,2.25E0,0.E0));
#736=DIRECTION('',(0.E0,1.E0,0.E0));
#737=DIRECTION('',(0.E0,0.E0,-1.E0));
#738=AXIS2_PLACEMENT_3D('',#735,#736,#737);
#739=PLANE('',#738);
#740=ORIENTED_EDGE('',*,*,#687,.F.);
#741=ORIENTED_EDGE('',*,*,#702,.F.);
#742=ORIENTED_EDGE('',*,*,#716,.F.);
#743=ORIENTED_EDGE('',*,*,#729,.F.);
#744=EDGE_LOOP('','',(#740,#741,#742,#743));
#745=FACE_OUTER_BOUND('',#744,.F.);
#746=ADVANCED_FACE('',(#745),'' ,#739,.T.);
#747=CLOSED_SHELL('',(#678,#693,#707,#721,#734,#746));
#748=MANIFOLD_SOLID_BREP('',#747);
#749=(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.MILLI.,.METRE.));
#750=DIMENSIONAL_EXPONENTS(0.E0,0.E0,0.E0,0.E0,0.E0,0.E0,0.E0);
#751=(NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.));
#752=PLANE_ANGLE_MEASURE_WITH_UNIT(PLANE_ANGLE_MEASURE(1.745329251994E-2),#751);
#753=(CONVERSION_BASED_UNIT('DEGREE',#752)NAMED_UNIT(#750)PLANE_ANGLE_UNIT());
#754=(NAMED_UNIT(*)SI_UNIT($,.STERADIAN.)SOLID_ANGLE_UNIT());
#755=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(2.415000081568E-1),#749,'closure','Maximum model space distance between geometric entities at asserted connectivities');
#756=(GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#755))GLOBAL_UNIT_ASSIGNED_CONTEXT((#749,#753,#754))REPRESENTATION_CONTEXT('ID2','3'));
#757=CARTESIAN_POINT('',(0.E0,0.E0,0.E0));
#758=DIRECTION('',(0.E0,0.E0,1.E0));
#759=DIRECTION('',(1.E0,0.E0,0.E0));
#760=AXIS2_PLACEMENT_3D('',#757,#758,#759);
#762=APPLICATION_CONTEXT('CONFIGURATION CONTROLLED 3D DESIGNS OF MECHANICAL PARTS AND ASSEMBLIES');
#763=APPLICATION_PROTOCOL_DEFINITION('international standard','config_control_design',1994,#762);
#764=DESIGN_CONTEXT('',#762,'design');
#765=MECHANICAL_CONTEXT('',#762,'mechanical');
#766=PRODUCT('MODULE','MODULE','NOT SPECIFIED',(#765));
#767=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('5','LAST_VERSION',#766,.MADE.);
#773=CARTESIAN_POINT('',(1.E3,0.E0,0.E0));
#774=DIRECTION('',(0.E0,0.E0,1.E0));
#775=DIRECTION('',(1.E0,0.E0,0.E0));
#776=AXIS2_PLACEMENT_3D('',#773,#774,#775);
#777=ITEM_DEFINED_TRANSFORMATION('','',#776,#760);
#778=(REPRESENTATION_RELATIONSHIP('','',#589,#761)REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#777)SHAPE_REPRESENTATION_RELATIONSHIP());
#779=CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#778,#772);
#782=CARTESIAN_POINT('',(6.E2,0.E0,0.E0));
#783=DIRECTION('',(0.E0,0.E0,1.E0));
#784=DIRECTION('',(1.E0,0.E0,0.E0));
#785=AXIS2_PLACEMENT_3D('',#782,#783,#784);
#786=ITEM_DEFINED_TRANSFORMATION('','',#785,#760);
#787=(REPRESENTATION_RELATIONSHIP('','',#589,#761)REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#786)SHAPE_REPRESENTATION_RELATIONSHIP());
#788=CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#787,#781);
#791=CARTESIAN_POINT('',(2.E2,0.E0,0.E0));
#792=DIRECTION('',(0.E0,0.E0,1.E0));
#793=DIRECTION('',(1.E0,0.E0,0.E0));
#794=AXIS2_PLACEMENT_3D('',#791,#792,#793);
#795=ITEM_DEFINED_TRANSFORMATION('','',#794,#760);
#796=(REPRESENTATION_RELATIONSHIP('','',#589,#761)REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#795)SHAPE_REPRESENTATION_RELATIONSHIP());
#797=CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#796,#790);
#800=CARTESIAN_POINT('',(-2.E2,0.E0,0.E0));
#801=DIRECTION('',(0.E0,0.E0,1.E0));
#802=DIRECTION('',(1.E0,0.E0,0.E0));
#803=AXIS2_PLACEMENT_3D('',#800,#801,#802);
#804=ITEM_DEFINED_TRANSFORMATION('','',#803,#760);
#805=(REPRESENTATION_RELATIONSHIP('','',#589,#761)REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#804)SHAPE_REPRESENTATION_RELATIONSHIP());
#806=CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#805,#799);
#809=CARTESIAN_POINT('',(-6.E2,0.E0,0.E0));
#810=DIRECTION('',(0.E0,0.E0,1.E0));
#811=DIRECTION('',(1.E0,0.E0,0.E0));
#812=AXIS2_PLACEMENT_3D('',#809,#810,#811);
#813=ITEM_DEFINED_TRANSFORMATION('','',#812,#760);
#814=(REPRESENTATION_RELATIONSHIP('','',#589,#761)REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#813)SHAPE_REPRESENTATION_RELATIONSHIP());
#815=CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#814,#808);
#818=CARTESIAN_POINT('',(-1.E3,0.E0,0.E0));
#819=DIRECTION('',(0.E0,0.E0,1.E0));
#820=DIRECTION('',(1.E0,0.E0,0.E0));
#821=AXIS2_PLACEMENT_3D('',#818,#819,#820);
#822=ITEM_DEFINED_TRANSFORMATION('','',#821,#760);
#823=(REPRESENTATION_RELATIONSHIP('','',#589,#761)REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#822)SHAPE_REPRESENTATION_RELATIONSHIP());
#824=CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#823,#817);
#825=(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.MILLI.,.METRE.));
#826=DIMENSIONAL_EXPONENTS(0.E0,0.E0,0.E0,0.E0,0.E0,0.E0,0.E0);
#827=(NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.));
#828=PLANE_ANGLE_MEASURE_WITH_UNIT(PLANE_ANGLE_MEASURE(1.745329251994E-2),#827);
#829=(CONVERSION_BASED_UNIT('DEGREE',#828)NAMED_UNIT(#826)PLANE_ANGLE_UNIT());
#830=(NAMED_UNIT(*)SI_UNIT($,.STERADIAN.)SOLID_ANGLE_UNIT());
#831=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(2.415000081568E-1),#825,'closure','Maximum model space distance between geometric entities at asserted connectivities');
#832=(GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT(
(#831))GLOBAL_UNIT_ASSIGNED_CONTEXT((#825,#829,#830))REPRESENTATION_CONTEXT
('ID3','3'));
#833=APPLICATION_CONTEXT
('CONFIGURATION CONTROLLED 3D DESIGNS OF MECHANICAL PARTS AND ASSEMBLIES');
#834=APPLICATION_PROTOCOL_DEFINITION('international standard',
'config_control_design',1994,#833);
#835=DESIGN_CONTEXT('',#833,'design');
#836=MECHANICAL_CONTEXT('',#833,'mechanical');
#837=PRODUCT('ROD_PLACE_ASM','ROD_PLACE_ASM','NOT SPECIFIED',(#836));
#838=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('1','LAST_VERSION',#837,.MADE.);
#840=PRODUCT_CATEGORY('part','');
#841=PRODUCT_RELATED_PRODUCT_CATEGORY('assembly','',(#837));
#842=PRODUCT_CATEGORY_RELATIONSHIP('','',#840,#841);
#843=PRODUCT_CATEGORY('part','');
#844=PRODUCT_RELATED_PRODUCT_CATEGORY('detail','',(#582,#766));
#845=PRODUCT_CATEGORY_RELATIONSHIP('','',#843,#844);
#846=SECURITY_CLASSIFICATION_LEVEL('unclassified');
#847=SECURITY_CLASSIFICATION('','',#846);
#848=CC_DESIGN_SECURITY_CLASSIFICATION(#847,(#583,#767,#838,#590,#771,#780,#789,#798,#807,#816));
#849=APPROVAL_STATUS('approved');
#850=APPROVAL(#849,'');
#851=CC_DESIGN_APPROVAL(#850,(#847,#583,#767,#838,#584,#768,#839));
#852=CALENDAR_DATE(98,27,2);
#853=COORDINATED_UNIVERSAL_TIME_OFFSET(1,0,.AHEAD.);
#854=LOCAL_TIME(10,19,1.5E1,#853);
#855=DATE_AND_TIME(#852,#854);
#856=APPROVAL_DATE_TIME(#855,#850);
#857=DATE_TIME_ROLE('creation_date');
#858=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#855,#857,(#584,#768,#839));
#859=DATE_TIME_ROLE('classification_date');
#860=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#855,#859,(#847));
#861=PERSON('UNSPECIFIED','UNSPECIFIED',$,$,$,$);
#862=ORGANIZATION('UNSPECIFIED','UNSPECIFIED','UNSPECIFIED');
#863=PERSON_AND_ORGANIZATION(#861,#862);
#864=APPROVAL_ROLE('approver');
#865=APPROVAL_PERSON_ORGANIZATION(#863,#850,#864);
#866=PERSON_AND_ORGANIZATION_ROLE('creator');
#867=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#863,#866,(#583,#767,#838,#584,#768,#839));
#868=PERSON_AND_ORGANIZATION_ROLE('design_supplier');
#869=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#863,#868,(#583,#767,#838));
#870=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
#871=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#863,#870,(#847));
#872=PERSON_AND_ORGANIZATION_ROLE('design_owner');
#873=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#863,#872,(#837,#582,#766));
#134=EDGE_CURVE('', #99,#100,'',#12,.T.);
#136=EDGE_CURVE('', #99,#107,'',#4,.T.);
#138=EDGE_CURVE('', #107,#108,'',#68,.T.);
#140=EDGE_CURVE('', #100,#108,'',#96,.T.);
#150=EDGE_CURVE('', #104,#99,'',#8,.T.);
#153=EDGE_CURVE('', #100,#102,'',#16,.T.);
#155=EDGE_CURVE('', #102,#118,'',#20,.T.);
#157=EDGE_CURVE('', #116,#118,'',#24,.T.);
#159=EDGE_CURVE('', #115,#116,'',#28,.T.);
#161=EDGE_CURVE('', #120,#115,'',#32,.T.);
#163=EDGE_CURVE('', #120,#104,'',#36,.T.);
#174=EDGE_CURVE('', #104,#112,'',#40,.T.);
#176=EDGE_CURVE('', #112,#107,'',#72,.T.);
#187=EDGE_CURVE('', #120,#128,'',#52,.T.);
#189=EDGE_CURVE('', #128,#112,'',#76,.T.);
#201=EDGE_CURVE('', #102,#110,'',#44,.T.);
#203=EDGE_CURVE('', #110,#126,'',#92,.T.);
#205=EDGE_CURVE('', #118,#126,'',#48,.T.);
#217=EDGE_CURVE('', #115,#123,'',#56,.T.);
#219=EDGE_CURVE('', #128,#123,'',#80,.T.);
#231=EDGE_CURVE('', #116,#124,'',#60,.T.);
#233=EDGE_CURVE('', #123,#124,'',#84,.T.);
#246=EDGE_CURVE('', #124,#126,'',#88,.T.);
#257=EDGE_CURVE('', #108,#110,'',#64,.T.);
#416=EDGE_CURVE('', #381,#382,'',#290,.T.);
#418=EDGE_CURVE('', #381,#389,'',#286,.T.);
#420=EDGE_CURVE('', #389,#390,'',#334,.T.);
#422=EDGE_CURVE('', #382,#390,'',#322,.T.);
#433=EDGE_CURVE('', #382,#384,'',#294,.T.);
#435=EDGE_CURVE('', #384,#386,'',#298,.T.);
#437=EDGE_CURVE('', #386,#402,'',#302,.T.);
#439=EDGE_CURVE('', #400,#402,'',#306,.T.);
#441=EDGE_CURVE('', #398,#400,'',#310,.T.);
#443=EDGE_CURVE('', #397,#398,'',#314,.T.);
#445=EDGE_CURVE('', #397,#381,'',#318,.T.);
#457=EDGE_CURVE('', #390,#392,'',#330,.T.);
#459=EDGE_CURVE('', #384,#392,'',#358,.T.);
#469=EDGE_CURVE('', #392,#394,'',#326,.T.);
#473=EDGE_CURVE('', #405,#389,'',#338,.T.);
#475=EDGE_CURVE('', #405,#406,'',#342,.T.);
#477=EDGE_CURVE('', #406,#408,'',#346,.T.);
#479=EDGE_CURVE('', #408,#410,'',#350,.T.);
#481=EDGE_CURVE('', #394,#410,'',#354,.T.);
#494=EDGE_CURVE('', #386,#394,'',#362,.T.);
#504=EDGE_CURVE('', #397,#405,'',#370,.T.);
#519=EDGE_CURVE('', #402,#410,'',#366,.T.);
#531=EDGE_CURVE('', #398,#406,'',#374,.T.);
#544=EDGE_CURVE('', #400,#408,'',#378,.T.);
#577=ADVANCED_BREP_SHAPE_REPRESENTATION('',(#576,#282,#564),#572);
#584=PRODUCT_DEFINITION('design','',#583,#580);
#585=PRODUCT_DEFINITION_SHAPE('','SHAPE FOR ROD.',#584);
#586=SHAPE_DEFINITION_REPRESENTATION(#585,#577);
#587=SHAPE_DEFINITION_REPRESENTATION(#588,#589);
#588=PRODUCT_DEFINITION_SHAPE('','SHAPE FOR ROD_PLACE_ASM.',#839);
#589=SHAPE_REPRESENTATION('',(#595,#776,#785,#794,#803,#812,#821),#832);
#590=NEXT_ASSEMBLY_USAGE_OCCURRENCE('0','Next assembly relationship','',#839,#584,$);
#591=PRODUCT_DEFINITION_SHAPE('Placement #0','Placement of ROD with respect to ROD_PLACE_ASM',#590);
#668=EDGE_CURVE('', #649,#650,'',#602,.T.);
#670=EDGE_CURVE('', #650,#652,'',#606,.T.);
#672=EDGE_CURVE('', #652,#654,'',#610,.T.);
#674=EDGE_CURVE('', #654,#649,'',#614,.T.);
#685=EDGE_CURVE('', #649,#657,'',#618,.T.);
#687=EDGE_CURVE('', #657,#658,'',#634,.T.);
#689=EDGE_CURVE('', #650,#658,'',#630,.T.);
#700=EDGE_CURVE('', #654,#662,'',#622,.T.);
#702=EDGE_CURVE('', #662,#657,'',#638,.T.);
#714=EDGE_CURVE('', #652,#660,'',#626,.T.);
#716=EDGE_CURVE('', #660,#662,'',#642,.T.);
#729=EDGE_CURVE('', #658,#660,'',#646,.T.);
#761=ADVANCED_BREP_SHAPE_REPRESENTATION('',(#760,#748),#756);
#768=PRODUCT_DEFINITION('design','',#767,#764);
#769=PRODUCT_DEFINITION_SHAPE('','SHAPE FOR MODULE.',#768);
#770=SHAPE_DEFINITION_REPRESENTATION(#769,#761);
#771=NEXT_ASSEMBLY_USAGE_OCCURRENCE('1','Next assembly relationship','',#839,#768,$);
#772=PRODUCT_DEFINITION_SHAPE('Placement #1','Placement of MODULE with respect to ROD_PLACE_ASM',#771);
#780=NEXT_ASSEMBLY_USAGE_OCCURRENCE('2','Next assembly relationship','',#839,#768,$);
#781=PRODUCT_DEFINITION_SHAPE('Placement #2','Placement of MODULE with respect to ROD_PLACE_ASM',#780);
#789=NEXT_ASSEMBLY_USAGE_OCCURRENCE('3','Next assembly relationship','',#839,#768,$);
#790=PRODUCT_DEFINITION_SHAPE('Placement #3','Placement of MODULE with respect to ROD_PLACE_ASM',#789);
#798=NEXT_ASSEMBLY_USAGE_OCCURRENCE('4','Next assembly relationship','',#839,#768,$);
#799=PRODUCT_DEFINITION_SHAPE('Placement #4','Placement of MODULE with respect to ROD_PLACE_ASM',#798);
#807=NEXT_ASSEMBLY_USAGE_OCCURRENCE('5','Next assembly relationship','',#839,#768,$);
#808=PRODUCT_DEFINITION_SHAPE('Placement #5','Placement of MODULE with respect to ROD_PLACE_ASM',#807);
#816=NEXT_ASSEMBLY_USAGE_OCCURRENCE('6','Next assembly relationship','',#839,#768,$);
#817=PRODUCT_DEFINITION_SHAPE('Placement #6','Placement of MODULE with respect to ROD_PLACE_ASM',#816);
#839=PRODUCT_DEFINITION('design','',#838,#835);
ENDSEC;
END-ISO-10303-21;
File diff suppressed because it is too large Load Diff
+6 -3
View File
@@ -1,4 +1,4 @@
$Id: History,v 1.5 2003/06/12 12:24:46 gcosmo Exp $
$Id: History,v 1.7 2003/12/03 13:50:09 gcosmo Exp $
-------------------------------------------------------------------
=========================================================
@@ -17,10 +17,13 @@ committal in the CVS repository !
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
June, 12th, 2003 G.Cosmo - olapex-V05-01-00
November 13th, 2003 J.Allison - olapex-V05-02-00
- Reconstructed Vis Manager.
June 12th, 2003 G.Cosmo - olapex-V05-01-00
- Fixed pedantic warnings on Linux-g++.
February, 19th, 2003 G.Cosmo - olapex-V05-00-00
February 19th, 2003 G.Cosmo - olapex-V05-00-00
- Removed redundant inclusion of SystemOfUnits.h.
Now using CLHEP headers.
@@ -22,7 +22,7 @@
//
//
// $Id: G4GeoNav.hh,v 1.3 2003/06/16 16:49:16 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// --------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: OlapDetConstr.hh,v 1.1 2002/06/04 07:40:18 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// --------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: OlapEventAction.hh,v 1.2 2003/06/16 16:49:17 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// --------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: OlapGenerator.hh,v 1.2 2003/06/16 16:49:18 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// --------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: OlapLogManager.hh,v 1.1 2002/06/04 07:40:19 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// --------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: OlapManager.hh,v 1.3 2003/06/16 16:49:19 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// --------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: OlapManagerMessenger.hh,v 1.1 2002/06/04 07:40:19 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// --------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: OlapNotify.hh,v 1.2 2003/06/16 16:49:20 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// --------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: OlapPhysicsList.hh,v 1.1 2002/06/04 07:40:19 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// --------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: OlapRunAction.hh,v 1.2 2003/06/16 16:49:21 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// --------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: OlapSteppingAction.hh,v 1.2 2003/06/16 16:49:22 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// --------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: OlapVisManager.hh,v 1.1 2002/06/04 07:40:20 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// --------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: RandomDetector.hh,v 1.1 2002/06/04 07:40:20 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// --------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: SolidAnalyser.hh,v 1.2 2003/06/16 16:49:23 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// --------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: tree.hh,v 1.3 2003/06/16 16:49:24 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// --------------------------------------------------------------
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: olapex.cc,v 1.1 2002/06/04 07:40:18 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// --------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: G4GeoNav.cc,v 1.2 2003/06/16 16:49:25 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// --------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: OlapDetConstr.cc,v 1.2 2003/06/12 12:24:32 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// --------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: OlapEventAction.cc,v 1.3 2003/06/16 16:49:26 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// --------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: OlapGenerator.cc,v 1.2 2002/06/04 09:23:44 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// --------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: OlapLogManager.cc,v 1.2 2003/06/16 16:49:27 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// --------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: OlapManager.cc,v 1.2 2003/06/16 16:49:28 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// --------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: OlapManagerMessenger.cc,v 1.2 2002/12/05 01:07:00 asaim Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// --------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: OlapNotify.cc,v 1.1 2002/06/04 07:40:22 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// --------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: OlapPhysicsList.cc,v 1.1 2002/06/04 07:40:22 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// --------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: OlapRunAction.cc,v 1.4 2003/06/16 16:49:29 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// --------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: OlapSteppingAction.cc,v 1.2 2003/06/16 16:49:30 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// --------------------------------------------------------------
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: OlapVisManager.cc,v 1.1 2002/06/04 07:40:23 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-02 $
// $Id: OlapVisManager.cc,v 1.2 2003/11/13 15:11:34 johna Exp $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// --------------------------------------------------------------
@@ -39,51 +39,50 @@
// Supported drivers...
// Not needing external packages or libraries...
#include "G4ASCIITree.hh"
#include "G4DAWNFILE.hh"
#include "G4GAGTree.hh"
#include "G4HepRepFile.hh"
#include "G4HepRep.hh"
#include "G4RayTracer.hh"
#include "G4VRML1File.hh"
#include "G4VRML2File.hh"
// Needing external packages or libraries...
#ifdef G4VIS_USE_DAWN
#include "G4FukuiRenderer.hh"
#endif
#ifdef G4VIS_USE_DAWNFILE
#include "G4DAWNFILE.hh"
#endif
#ifdef G4VIS_USE_OPACS
#include "G4Wo.hh"
#include "G4Xo.hh"
#endif
#ifdef G4VIS_USE_OPENGLX
#include "G4OpenGLImmediateX.hh"
#include "G4OpenGLStoredX.hh"
#endif
#ifdef G4VIS_USE_OPENGLWIN32
#include "G4OpenGLImmediateWin32.hh"
#include "G4OpenGLStoredWin32.hh"
#endif
#ifdef G4VIS_USE_OPENGLXM
#include "G4OpenGLImmediateXm.hh"
#include "G4OpenGLStoredXm.hh"
#endif
#ifdef G4VIS_USE_OIX
//#include "G4OpenInventorX.hh"
#include "G4OpenInventorX.hh"
#endif
#ifdef G4VIS_USE_OIWIN32
//#include "G4OpenInventorWin32.hh"
#endif
#ifdef G4VIS_USE_RAYX
#include "G4RayX.hh"
#include "G4OpenInventorWin32.hh"
#endif
#ifdef G4VIS_USE_VRML
//#include "G4VRML1.hh"
#include "G4VRML1.hh"
#include "G4VRML2.hh"
#endif
#ifdef G4VIS_USE_VRMLFILE
//#include "G4VRML1File.hh"
#include "G4VRML2File.hh"
#endif
OlapVisManager::OlapVisManager (G4int verboseLevel)
{
SetVerboseLevel( verboseLevel );
@@ -92,49 +91,48 @@ OlapVisManager::OlapVisManager (G4int verboseLevel)
void OlapVisManager::RegisterGraphicsSystems ()
{
// Graphics Systems not needing external packages or libraries...
RegisterGraphicsSystem (new G4ASCIITree);
RegisterGraphicsSystem (new G4DAWNFILE);
RegisterGraphicsSystem (new G4GAGTree);
RegisterGraphicsSystem (new G4HepRepFile);
RegisterGraphicsSystem (new G4HepRep);
RegisterGraphicsSystem (new G4RayTracer);
RegisterGraphicsSystem (new G4VRML1File);
RegisterGraphicsSystem (new G4VRML2File);
// Graphics systems needing external packages or libraries...
#ifdef G4VIS_USE_DAWN
RegisterGraphicsSystem (new G4FukuiRenderer);
#endif
#ifdef G4VIS_USE_DAWNFILE
RegisterGraphicsSystem (new G4DAWNFILE);
#endif
#ifdef G4VIS_USE_OPACS
RegisterGraphicsSystem (new G4Wo);
RegisterGraphicsSystem (new G4Xo);
#endif
#ifdef G4VIS_USE_OPENGLX
RegisterGraphicsSystem (new G4OpenGLImmediateX);
RegisterGraphicsSystem (new G4OpenGLStoredX);
#endif
#ifdef G4VIS_USE_OPENGLWIN32
RegisterGraphicsSystem (new G4OpenGLImmediateWin32);
RegisterGraphicsSystem (new G4OpenGLStoredWin32);
#endif
#ifdef G4VIS_USE_OPENGLXM
RegisterGraphicsSystem (new G4OpenGLImmediateXm);
RegisterGraphicsSystem (new G4OpenGLStoredXm);
#endif
#ifdef G4VIS_USE_OIX
// RegisterGraphicsSystem (new G4OpenInventorX);
RegisterGraphicsSystem (new G4OpenInventorX);
#endif
#ifdef G4VIS_USE_OIWIN32
// RegisterGraphicsSystem (new G4OpenInventorWin32);
#endif
#ifdef G4VIS_USE_RAYX
RegisterGraphicsSystem (new G4RayX);
RegisterGraphicsSystem (new G4OpenInventorWin32);
#endif
#ifdef G4VIS_USE_VRML
// RegisterGraphicsSystem (new G4VRML1);
RegisterGraphicsSystem (new G4VRML2);
#endif
#ifdef G4VIS_USE_VRMLFILE
// RegisterGraphicsSystem (new G4VRML1File);
RegisterGraphicsSystem (new G4VRML2File);
RegisterGraphicsSystem (new G4VRML1);
RegisterGraphicsSystem (new G4VRML2);
#endif
if (fVerbose > 0)
@@ -22,7 +22,7 @@
//
//
// $Id: RandomDetector.cc,v 1.2 2003/02/19 07:59:09 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// --------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: SolidAnalyser.cc,v 1.3 2003/06/16 16:49:31 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// --------------------------------------------------------------