Import Geant4 4.1.0 source tree
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
# $Id: GNUmakefile,v 1.3 2002/06/11 15:48:17 radoone Exp $
|
||||
# --------------------------------------------------------------
|
||||
# GNUmakefile for GDML sample module. Radovan Chytracek, 30/05/2002.
|
||||
# --------------------------------------------------------------
|
||||
|
||||
name := gogdml
|
||||
G4TARGET := $(name)
|
||||
G4EXLIB := true
|
||||
|
||||
ifndef G4INSTALL
|
||||
G4INSTALL = ../../../..
|
||||
endif
|
||||
|
||||
GDMLINSTALL := $(G4INSTALL)/examples/extended/gdml
|
||||
GDMLLIBROOT := $(GDMLINSTALL)/libgdml
|
||||
|
||||
CPPFLAGS += \
|
||||
-I$(GDMLINSTALL)/libgdml/saxana/include \
|
||||
-I$(GDMLINSTALL)/libgdml/schema/include \
|
||||
-I$(GDMLINSTALL)/libgdml/management/include \
|
||||
-I$(GDMLINSTALL)/libgdml/processes/include \
|
||||
-I$(GDMLINSTALL)/libgdml/subscribers/include \
|
||||
-I$(XERCESCROOT)/include
|
||||
|
||||
EXTRALIBS += \
|
||||
-lGDMLsaxana \
|
||||
-lGDMLmanagement \
|
||||
-lGDMLschema \
|
||||
-lGDMLprocesses \
|
||||
-lGDMLsubscribers \
|
||||
-L $(XERCESCROOT)/lib -lxerces-c
|
||||
|
||||
EXTRALIBSSOURCEDIRS += \
|
||||
$(GDMLLIBROOT)/saxana \
|
||||
$(GDMLLIBROOT)/schema \
|
||||
$(GDMLLIBROOT)/processes \
|
||||
$(GDMLLIBROOT)/management \
|
||||
$(GDMLLIBROOT)/subscribers
|
||||
|
||||
# EXTRA_LINK_DEPENDENCIES := \
|
||||
# $(G4WORKDIR)/tmp/$(G4SYSTEM)/$(name)/libgogdml.a \
|
||||
# $(G4WORKDIR)/lib/$(G4SYSTEM)/libGDMLmanagement.a \
|
||||
# $(G4WORKDIR)/lib/$(G4SYSTEM)/libGDMLprocesses.a \
|
||||
# $(G4WORKDIR)/lib/$(G4SYSTEM)/libGDMLsaxana.a \
|
||||
# $(G4WORKDIR)/lib/$(G4SYSTEM)/libGDMLschema.a \
|
||||
# $(G4WORKDIR)/lib/$(G4SYSTEM)/libGDMLsubscribers.a
|
||||
|
||||
|
||||
.PHONY: all
|
||||
all: lib bin
|
||||
|
||||
include $(G4INSTALL)/config/binmake.gmk
|
||||
@@ -0,0 +1,70 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: gogdml.cc,v 1.2 2002/06/03 12:09:36 radoone Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
// Comments
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
|
||||
#include "G4RunManager.hh"
|
||||
#include "G4UImanager.hh"
|
||||
|
||||
#include "gogdmlDetectorConstruction.hh"
|
||||
#include "gogdmlPhysicsList.hh"
|
||||
#include "gogdmlPrimaryGeneratorAction.hh"
|
||||
|
||||
int main()
|
||||
{
|
||||
// Construct the default run manager
|
||||
G4RunManager* runManager = new G4RunManager;
|
||||
|
||||
// set mandatory initialization classes
|
||||
runManager->SetUserInitialization(new gogdmlDetectorConstruction);
|
||||
runManager->SetUserInitialization(new gogdmlPhysicsList);
|
||||
|
||||
// set mandatory user action class
|
||||
runManager->SetUserAction(new gogdmlPrimaryGeneratorAction);
|
||||
|
||||
// Initialize G4 kernel
|
||||
runManager->Initialize();
|
||||
|
||||
// get the pointer to the UI manager and set verbosities
|
||||
G4UImanager* UI = G4UImanager::GetUIpointer();
|
||||
UI->ApplyCommand("/run/verbose 2");
|
||||
UI->ApplyCommand("/event/verbose 2");
|
||||
UI->ApplyCommand("/tracking/verbose 2");
|
||||
|
||||
// start a run
|
||||
int numberOfEvent = 3;
|
||||
runManager->BeamOn(numberOfEvent);
|
||||
|
||||
// job termination
|
||||
delete runManager;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: gogdmlDetectorConstruction.hh,v 1.2 2002/06/03 12:09:36 radoone Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
// Comments
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
//
|
||||
|
||||
#ifndef gogdmlDetectorConstruction_H
|
||||
#define gogdmlDetectorConstruction_H 1
|
||||
|
||||
class G4VPhysicalVolume;
|
||||
|
||||
#include "G4VUserDetectorConstruction.hh"
|
||||
|
||||
#include "SAXProcessor.hh"
|
||||
#include "ProcessingConfigurator.hh"
|
||||
|
||||
class gogdmlDetectorConstruction : public G4VUserDetectorConstruction
|
||||
{
|
||||
public:
|
||||
gogdmlDetectorConstruction();
|
||||
~gogdmlDetectorConstruction();
|
||||
|
||||
public:
|
||||
G4VPhysicalVolume* Construct();
|
||||
|
||||
private:
|
||||
SAXProcessor sxp;
|
||||
ProcessingConfigurator config;
|
||||
G4VPhysicalVolume* fWorld;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: gogdmlPhysicsList.hh,v 1.2 2002/06/03 12:09:36 radoone Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
//
|
||||
// gogdmlPhysicsList
|
||||
// Construct/define particles and physics processes
|
||||
//
|
||||
// Particle defined in ExampleN01
|
||||
// geantino
|
||||
//
|
||||
// Process defined in ExampleN01
|
||||
// transportation
|
||||
// --------------------------------------------------------------
|
||||
//
|
||||
|
||||
#ifndef gogdmlPhysicsList_h
|
||||
#define gogdmlPhysicsList_h 1
|
||||
|
||||
#include "G4VUserPhysicsList.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class gogdmlPhysicsList: public G4VUserPhysicsList
|
||||
{
|
||||
public:
|
||||
gogdmlPhysicsList();
|
||||
~gogdmlPhysicsList();
|
||||
|
||||
protected:
|
||||
// Construct particle and physics process
|
||||
void ConstructParticle();
|
||||
void ConstructProcess();
|
||||
void SetCuts();
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: gogdmlPrimaryGeneratorAction.hh,v 1.2 2002/06/03 12:09:36 radoone Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
// Comments
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
|
||||
#ifndef gogdmlPrimaryGeneratorAction_h
|
||||
#define gogdmlPrimaryGeneratorAction_h 1
|
||||
|
||||
#include "G4VUserPrimaryGeneratorAction.hh"
|
||||
|
||||
class G4ParticleGun;
|
||||
class G4Event;
|
||||
|
||||
class gogdmlPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
|
||||
{
|
||||
public:
|
||||
gogdmlPrimaryGeneratorAction();
|
||||
~gogdmlPrimaryGeneratorAction();
|
||||
|
||||
public:
|
||||
void GeneratePrimaries(G4Event* anEvent);
|
||||
|
||||
private:
|
||||
G4ParticleGun* particleGun;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: gogdmlDetectorConstruction.cc,v 1.2 2002/06/03 12:09:36 radoone Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
// Comments
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
|
||||
#include "gogdmlDetectorConstruction.hh"
|
||||
|
||||
#include "GDMLProcessor.hh"
|
||||
|
||||
// Added here just to help resolve properly dependencies
|
||||
#include "G4BooleanSolid.hh"
|
||||
#include "G4CSGSolid.hh"
|
||||
|
||||
gogdmlDetectorConstruction::gogdmlDetectorConstruction()
|
||||
{
|
||||
sxp.Initialize();
|
||||
config.SetURI( "test.gdml" );
|
||||
config.SetSetupName( "Test1" );
|
||||
sxp.Configure( &config );
|
||||
}
|
||||
|
||||
gogdmlDetectorConstruction::~gogdmlDetectorConstruction()
|
||||
{
|
||||
sxp.Finalize();
|
||||
}
|
||||
|
||||
G4VPhysicalVolume* gogdmlDetectorConstruction::Construct()
|
||||
{
|
||||
sxp.Run();
|
||||
|
||||
fWorld = (G4VPhysicalVolume *)GDMLProcessor::GetInstance()->GetWorldVolume();
|
||||
|
||||
if( fWorld == 0 ) {
|
||||
G4Exception(
|
||||
"World volume not set properly check your setup selection criteria or GDML input!"
|
||||
);
|
||||
}
|
||||
|
||||
return fWorld;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: gogdmlPhysicsList.cc,v 1.2 2002/06/03 12:09:36 radoone Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
// Comments
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
|
||||
#include "gogdmlPhysicsList.hh"
|
||||
#include "G4ParticleTypes.hh"
|
||||
|
||||
|
||||
gogdmlPhysicsList::gogdmlPhysicsList()
|
||||
{;}
|
||||
|
||||
gogdmlPhysicsList::~gogdmlPhysicsList()
|
||||
{;}
|
||||
|
||||
void gogdmlPhysicsList::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.
|
||||
|
||||
G4Geantino::GeantinoDefinition();
|
||||
}
|
||||
|
||||
void gogdmlPhysicsList::ConstructProcess()
|
||||
{
|
||||
// Define transportation process
|
||||
|
||||
AddTransportation();
|
||||
}
|
||||
|
||||
void gogdmlPhysicsList::SetCuts()
|
||||
{
|
||||
// uppress error messages even in case e/gamma/proton do not exist
|
||||
G4int temp = GetVerboseLevel(); SetVerboseLevel(0);
|
||||
// " G4VUserPhysicsList::SetCutsWithDefault" method sets
|
||||
// the default cut value for all particle types
|
||||
SetCutsWithDefault();
|
||||
|
||||
// Retrieve verbose level
|
||||
SetVerboseLevel(temp);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: gogdmlPrimaryGeneratorAction.cc,v 1.2 2002/06/03 12:09:36 radoone Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
//
|
||||
|
||||
#include "gogdmlPrimaryGeneratorAction.hh"
|
||||
|
||||
#include "G4Event.hh"
|
||||
#include "G4ParticleGun.hh"
|
||||
#include "G4UImanager.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
gogdmlPrimaryGeneratorAction::gogdmlPrimaryGeneratorAction()
|
||||
{
|
||||
G4int n_particle = 1;
|
||||
particleGun = new G4ParticleGun(n_particle);
|
||||
|
||||
G4UImanager* UI = G4UImanager::GetUIpointer();
|
||||
UI->ApplyCommand("/gun/particle geantino");
|
||||
UI->ApplyCommand("/gun/energy 1.0 GeV");
|
||||
UI->ApplyCommand("/gun/position -2.0 0.0 0.0 cm");
|
||||
}
|
||||
|
||||
gogdmlPrimaryGeneratorAction::~gogdmlPrimaryGeneratorAction()
|
||||
{
|
||||
delete particleGun;
|
||||
}
|
||||
|
||||
void gogdmlPrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent)
|
||||
{
|
||||
G4UImanager* UI = G4UImanager::GetUIpointer();
|
||||
G4int i = anEvent->GetEventID() % 3;
|
||||
switch(i)
|
||||
{
|
||||
case 0:
|
||||
UI->ApplyCommand("/gun/direction 1.0 0.0 0.0");
|
||||
break;
|
||||
case 1:
|
||||
UI->ApplyCommand("/gun/direction 1.0 0.1 0.0");
|
||||
break;
|
||||
case 2:
|
||||
UI->ApplyCommand("/gun/direction 1.0 0.0 0.1");
|
||||
break;
|
||||
}
|
||||
|
||||
particleGun->GeneratePrimaryVertex(anEvent);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,102 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<gdml xmlns:gdml="http://cern.ch/2001/Schemas/GDML"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="../schema/gdml_1.0.xsd">
|
||||
<define>
|
||||
<constant name="HALFPI" value="pi/2."/>
|
||||
<constant name="PI" value="1.*pi"/>
|
||||
<constant name="TWOPI" value="2.*pi"/>
|
||||
<position name="center"/>
|
||||
<rotation name="identity"/>
|
||||
<position name="shiftbyx" x="20"/>
|
||||
<rotation name="rotatebyx" x="HALFPI"/>
|
||||
<rotation name="rotatebyall" x="HALFPI" y="PI" z="TWOPI"/>
|
||||
</define>
|
||||
<materials>
|
||||
<define>
|
||||
<quantity type="density" name="ro" unit="g/cm3" value="1234.00"/>
|
||||
</define>
|
||||
<isotope Z="92" N="235" name="U235"> <atom type="A" value="235.01"/> </isotope>
|
||||
<isotope name="U238" Z="92.0" N="238"> <atom type="A" value="238.03"/> </isotope>
|
||||
<element name="enriched_Uranium">
|
||||
<fraction ref="U235" n="0.9"/>
|
||||
<fraction ref="U238" n="0.1"/>
|
||||
</element>
|
||||
<element name="Hydrogen" formula="H" Z="1."> <atom value="1.01"/> </element>
|
||||
<element name="Oxygen" formula="O" Z="8."> <atom value="16.0"/> </element>
|
||||
<element name="Nitrogen" formula="N" Z="7."> <atom value="14.01"/> </element>
|
||||
<element name="Lead" formula="Pb" Z="82."> <atom value="207.20"/> </element>
|
||||
<material name="Al" Z="13.0"> <D value="2.70"/> <atom value="26.98"/> </material>
|
||||
<material name="Water" formula="H20">
|
||||
<D value="1.0"/>
|
||||
<composite n="2" ref="Hydrogen"/>
|
||||
<composite n="1" ref="Oxygen"/>
|
||||
</material>
|
||||
<material name="Air">
|
||||
<D value="1.290" unit="mg/cm3"/>
|
||||
<fraction n="0.7" ref="Nitrogen"/>
|
||||
<fraction n="0.3" ref="Oxygen"/>
|
||||
</material>
|
||||
</materials>
|
||||
<solids>
|
||||
<define>
|
||||
<quantity type="length" name="sizeoft500" unit="mm" value="500.0"/>
|
||||
<position name="shiftbysizeoft500" x="500.0"/>
|
||||
</define>
|
||||
<box name="WorldBox" x="10000.0" y="10000.0" z="10000.0"/>
|
||||
<box name="b100" x="100.0" y="100.0" z="100.0"/>
|
||||
<box name="b500" x="500.0" y="500.0" z="500.0"/>
|
||||
<cone name="c1" z="111.0" rmax1="22.0" rmax2="33.0" deltaphi="TWOPI"/>
|
||||
<para name="p1" x="10.0" y="10.0" z="10.0" alpha="30.0" theta="30.0" phi="30.0"/>
|
||||
<sphere name="s1" rmax="200.0" deltaphi="TWOPI" deltatheta="PI"/>
|
||||
<trap name="trap1" z="100.0" theta="60.0" phi="60.0"
|
||||
y1="10.0" x1="10.0" x2="10.0"
|
||||
alpha1="30.0" y2="10.0" x3="10.0"
|
||||
x4="10.0" alpha2="30.0"/>
|
||||
<trd name="trd1" x1="10.0" x2="10.0" y1="10.0" y2="20.0" z="30.0"/>
|
||||
<tube name="t1000" z="1000.0" rmax="100.0" deltaphi="TWOPI"/>
|
||||
<tube name="t900" z="900.0" rmax="100.0" deltaphi="TWOPI"/>
|
||||
<tube name="t100" z="100.0" rmax="10.0" deltaphi="TWOPI"/>
|
||||
<union name="u1">
|
||||
<first ref="b500"/> <second ref="b100"/>
|
||||
<position name="unionidentitypos"/> <rotation name="unionidentityrot"/>
|
||||
</union>
|
||||
<union name="u2">
|
||||
<first ref="b500"/> <second ref="t100"/>
|
||||
<positionref ref="shiftbyx"/>
|
||||
</union>
|
||||
<subtraction name="sub1">
|
||||
<first ref="b500"/> <second ref="b100"/>
|
||||
<positionref ref="center"/> <rotationref ref="identity"/>
|
||||
</subtraction>
|
||||
<subtraction name="sub2">
|
||||
<first ref="t900"/> <second ref="b100"/>
|
||||
<positionref ref="center"/> <rotationref ref="identity"/>
|
||||
</subtraction>
|
||||
<intersection name="intersec1">
|
||||
<first ref="b100"/> <second ref="b100"/>
|
||||
<positionref ref="identity"/> <rotationref ref="rotatebyx"/>
|
||||
</intersection>
|
||||
</solids>
|
||||
<structure>
|
||||
<volume name="v1">
|
||||
<materialref ref="Water"/>
|
||||
<solidref ref="t1000"/>
|
||||
</volume>
|
||||
<volume name="v2">
|
||||
<materialref ref="Water"/>
|
||||
<solidref ref="sub2"/>
|
||||
</volume>
|
||||
<volume name="World">
|
||||
<materialref ref="Air"/>
|
||||
<solidref ref="WorldBox"/>
|
||||
<child> <volumeref ref="v1"/>
|
||||
<positionref ref="center"/>
|
||||
<rotationref ref="identity"/>
|
||||
</child>
|
||||
</volume>
|
||||
</structure>
|
||||
<setup name="Test1" version="1.0">
|
||||
<world ref="World"/>
|
||||
</setup>
|
||||
</gdml>
|
||||
Reference in New Issue
Block a user