Initial import
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 8 Mar 2002 12:07:48 +0000 (12:07 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 8 Mar 2002 12:07:48 +0000 (12:07 +0000)
37 files changed:
Flugg/examples/fluggEx/AlAuAl/GNUmakefile [new file with mode: 0644]
Flugg/examples/fluggEx/AlAuAl/include/MyDetectorConstruction.hh [new file with mode: 0644]
Flugg/examples/fluggEx/AlAuAl/mainAlAuAl.cc [new file with mode: 0644]
Flugg/examples/fluggEx/AlAuAl/src/MyDetectorConstruction.cc [new file with mode: 0644]
Flugg/examples/fluggEx/BiasEx/GNUmakefile [new file with mode: 0644]
Flugg/examples/fluggEx/BiasEx/include/MyDetectorConstruction.hh [new file with mode: 0644]
Flugg/examples/fluggEx/BiasEx/mainBias.cc [new file with mode: 0644]
Flugg/examples/fluggEx/BiasEx/src/MyDetectorConstruction.cc [new file with mode: 0644]
Flugg/examples/fluggEx/GNUmakefile [new file with mode: 0644]
Flugg/examples/fluggEx/MagSphereNotRep/GNUmakefile [new file with mode: 0644]
Flugg/examples/fluggEx/MagSphereNotRep/include/ExN04Field.hh [new file with mode: 0644]
Flugg/examples/fluggEx/MagSphereNotRep/include/MyDetectorConstruction.hh [new file with mode: 0644]
Flugg/examples/fluggEx/MagSphereNotRep/mainSphereNotRep.cc [new file with mode: 0644]
Flugg/examples/fluggEx/MagSphereNotRep/src/ExN04Field.cc [new file with mode: 0644]
Flugg/examples/fluggEx/MagSphereNotRep/src/MyDetectorConstruction.cc [new file with mode: 0644]
Flugg/examples/fluggEx/T36flugg/GNUmakefile [new file with mode: 0644]
Flugg/examples/fluggEx/T36flugg/include/MyDetectorConstruction.hh [new file with mode: 0644]
Flugg/examples/fluggEx/T36flugg/include/T36LayerParam.hh [new file with mode: 0644]
Flugg/examples/fluggEx/T36flugg/include/T36ModuleParam.hh [new file with mode: 0644]
Flugg/examples/fluggEx/T36flugg/mainT36.cc [new file with mode: 0644]
Flugg/examples/fluggEx/T36flugg/src/MyDetectorConstruction.cc [new file with mode: 0644]
Flugg/examples/fluggEx/T36flugg/src/T36LayerParam.cc [new file with mode: 0644]
Flugg/examples/fluggEx/T36flugg/src/T36ModuleParam.cc [new file with mode: 0644]
Flugg/examples/fluggEx/emptyEx/GNUmakefile [new file with mode: 0644]
Flugg/examples/fluggEx/emptyEx/mainFLUGG.cc [new file with mode: 0644]
Flugg/examples/fluggEx/test/GNUmakefile [new file with mode: 0644]
Flugg/examples/fluggEx/test/include/MyDetectorConstruction.hh [new file with mode: 0644]
Flugg/examples/fluggEx/test/src/MyDetectorConstruction.cc [new file with mode: 0644]
Flugg/examples/fluggEx/test/test.cc [new file with mode: 0644]
Flugg/examples/fluka/Bias.inp [new file with mode: 0644]
Flugg/examples/fluka/MagSphereNotRep.inp [new file with mode: 0644]
Flugg/examples/fluka/Param.inp [new file with mode: 0644]
Flugg/examples/fluka/T36.inp [new file with mode: 0644]
Flugg/examples/fluka/alaual.inp [new file with mode: 0644]
Flugg/examples/fluka/arlw.pemf [new file with mode: 0644]
Flugg/examples/fluka/t36.pemf [new file with mode: 0644]
Flugg/examples/fluka/wa_50m.pemf [new file with mode: 0644]

diff --git a/Flugg/examples/fluggEx/AlAuAl/GNUmakefile b/Flugg/examples/fluggEx/AlAuAl/GNUmakefile
new file mode 100644 (file)
index 0000000..c505f81
--- /dev/null
@@ -0,0 +1,20 @@
+# $Id$
+# Flugg tag $Name$
+
+# Id: GNUmakefile,v 2.1 1998/07/02 15:26:52 gunter Exp 
+# --------------------------------------------------------------
+# GNUmakefile for examples module.  Gabriele Cosmo, 06/04/98
+# --------------------------------------------------------------
+
+name := mainAlAuAl
+G4TARGET := $(name)
+G4EXLIB := true
+
+ifndef FLUGGINSTALL
+  FLUGGINSTALL = ../../..
+endif
+
+.PHONY: all
+all: lib bin
+
+include $(FLUGGINSTALL)/config/binmake.gmk
diff --git a/Flugg/examples/fluggEx/AlAuAl/include/MyDetectorConstruction.hh b/Flugg/examples/fluggEx/AlAuAl/include/MyDetectorConstruction.hh
new file mode 100644 (file)
index 0000000..08e670f
--- /dev/null
@@ -0,0 +1,32 @@
+// $Id$
+// Flugg tag $Name$
+
+#ifndef MyDetectorConstruction_h
+#define MyDetectorConstruction_h 1
+
+#include "G4VUserDetectorConstruction.hh"
+#include "globals.hh"
+
+class MyDetectorConstruction : public G4VUserDetectorConstruction
+{
+  public:
+    MyDetectorConstruction();
+    ~MyDetectorConstruction();
+    G4VPhysicalVolume* Construct();
+
+  private:
+     G4double expHall_x;
+     G4double expHall_y;
+     G4double expHall_z;
+
+     G4double myBox_x;
+     G4double myBox_y;
+     G4double myBox_zA;
+     G4double myBox_zB;
+     G4double myBox_zC;
+     G4double myBox_zD;
+     G4double myBox_zE;
+};
+
+#endif
+
diff --git a/Flugg/examples/fluggEx/AlAuAl/mainAlAuAl.cc b/Flugg/examples/fluggEx/AlAuAl/mainAlAuAl.cc
new file mode 100644 (file)
index 0000000..5afbe2d
--- /dev/null
@@ -0,0 +1,33 @@
+// $Id$
+// Flugg tag $Name$
+
+#include "FGeometryInit.hh"
+#include "MyDetectorConstruction.hh"
+
+#define flukam flukam_
+
+extern "C" void flukam(const G4int & GeoFlag);
+
+int main() {
+
+  FGeometryInit* theFGeometryInit = FGeometryInit::GetInstance();
+  
+  theFGeometryInit
+    ->setDetConstruction(new MyDetectorConstruction());
+
+//flag for geometry:
+// 1 for GEANT4
+// 0 for FLUKA
+// 2 for Rubia
+    const G4int flag = 1;
+
+//call fortran
+    flukam(flag);
+
+//end
+  return 0;
+}
+
+
+
+
diff --git a/Flugg/examples/fluggEx/AlAuAl/src/MyDetectorConstruction.cc b/Flugg/examples/fluggEx/AlAuAl/src/MyDetectorConstruction.cc
new file mode 100644 (file)
index 0000000..87b6444
--- /dev/null
@@ -0,0 +1,107 @@
+// $Id$
+// Flugg tag $Name$
+
+#include "MyDetectorConstruction.hh"
+
+#include "G4Material.hh"
+#include "G4MaterialTable.hh"
+#include "G4Element.hh"
+#include "G4ElementTable.hh"
+#include "G4Box.hh"
+#include "G4Sphere.hh"
+#include "G4LogicalVolume.hh"
+#include "G4LogicalVolumeStore.hh"
+#include "G4RotationMatrix.hh"
+#include "G4ThreeVector.hh"
+#include "G4Transform3D.hh"
+#include "G4PVPlacement.hh"
+
+MyDetectorConstruction::MyDetectorConstruction()
+{
+  expHall_x = 10.*cm;
+  expHall_y = 10.*cm;
+  expHall_z = 10.*cm;
+
+  myBox_x = 10.*cm;
+  myBox_y = 10.*cm;
+  myBox_zA = 5.*cm;
+  myBox_zB = 0.00841665*cm;
+  myBox_zC = 0.0010873*cm;
+  myBox_zD = 0.07640375*cm;
+  myBox_zE = 4.9140923*cm;
+
+}
+
+MyDetectorConstruction::~MyDetectorConstruction()
+{;}
+
+G4VPhysicalVolume* MyDetectorConstruction::Construct()
+{
+//===================================volumes
+  G4cout << "MyDetectorConstruction::Construct start" << G4endl;
+
+
+  //------------------------------ experimental hall
+  G4Box * experimantalHall_box
+    = new G4Box("expHall_b",expHall_x,expHall_y,expHall_z);
+  G4LogicalVolume * experimantalHall_log
+    = new G4LogicalVolume(experimantalHall_box,0,"expHall_L",0,0,0);
+  G4VPhysicalVolume * experimantalHall_phys
+    = new G4PVPlacement(0,G4ThreeVector(),"expHall_P",
+                        experimantalHall_log,0,false,0);
+
+  //------------------------------ test box2
+  G4Box * test_box2
+    = new G4Box("myBox_b2",myBox_x,myBox_y,myBox_zA);
+  G4LogicalVolume * test_log2
+    = new G4LogicalVolume(test_box2,0,"myBox_L2",0,0,0);
+  G4VPhysicalVolume * test_phys2
+    = new G4PVPlacement(0,G4ThreeVector(0.,0.,-5.*cm),"myBox_P2",
+                        test_log2,experimantalHall_phys,false,0);
+
+  //------------------------------ test box3
+  G4Box * test_box3
+    = new G4Box("myBox_b3",myBox_x,myBox_y,myBox_zB);
+  G4LogicalVolume * test_log3
+    = new G4LogicalVolume(test_box3,0,"myBox_L3",0,0,0);
+  G4VPhysicalVolume * test_phys3
+    = new G4PVPlacement(0,G4ThreeVector(0.,0.,0.00841665*cm),"myBox_P3",
+                        test_log3,experimantalHall_phys,false,0);
+
+  //------------------------------ test box4
+  G4Box * test_box4
+    = new G4Box("myBox_b4",myBox_x,myBox_y,myBox_zC);
+  G4LogicalVolume * test_log4
+    = new G4LogicalVolume(test_box4,0,"myBox_L4",0,0,0);
+  G4VPhysicalVolume * test_phys4
+    = new G4PVPlacement(0,G4ThreeVector(0.,0.,0.0179206*cm),"myBox_P4",
+                        test_log4,experimantalHall_phys,false,0);
+
+  //------------------------------ test box5
+  G4Box * test_box5
+    = new G4Box("myBox_b5",myBox_x,myBox_y,myBox_zD);
+  G4LogicalVolume * test_log5
+    = new G4LogicalVolume(test_box5,0,"myBox_L5",0,0,0);
+  G4VPhysicalVolume * test_phys5
+    = new G4PVPlacement(0,G4ThreeVector(0.,0.,0.09541165*cm),"myBox_P5",
+                        test_log5,experimantalHall_phys,false,0);
+
+  //------------------------------ test box6
+  G4Box * test_box6
+    = new G4Box("myBox_b6",myBox_x,myBox_y,myBox_zE);
+  G4LogicalVolume * test_log6
+    = new G4LogicalVolume(test_box6,0,"myBox_L6",0,0,0);
+  G4VPhysicalVolume * test_phys6
+    = new G4PVPlacement(0,G4ThreeVector(0.,0.,5.0859077*cm),"myBox_P6",
+                        test_log6,experimantalHall_phys,false,0);                      
+
+  //------------------------------------------------------------------
+     G4int numLVVol = G4int(G4LogicalVolumeStore::GetInstance()->size());
+     
+  if (test_log6->GetMaterial())
+    G4cout << "material is defined " << G4endl;
+  else    
+    G4cout << "material is NOT defined " << G4endl;
+
+  return experimantalHall_phys;
+}
diff --git a/Flugg/examples/fluggEx/BiasEx/GNUmakefile b/Flugg/examples/fluggEx/BiasEx/GNUmakefile
new file mode 100644 (file)
index 0000000..30fedd2
--- /dev/null
@@ -0,0 +1,22 @@
+# $Id$
+# Flugg tag $Name$
+
+# Id: GNUmakefile,v 2.1 1998/07/02 15:26:52 gunter Exp 
+# --------------------------------------------------------------
+# GNUmakefile for examples module.  Gabriele Cosmo, 06/04/98.
+# --------------------------------------------------------------
+
+name := mainBias
+G4TARGET := $(name)
+G4EXLIB := true
+
+ifndef FLUGGINSTALL
+  FLUGGINSTALL = ../../..
+endif
+
+#the target of the first rule of the first makefile is the default goal
+#so "make" will do lib and bin targets.
+.PHONY: all
+all: lib bin
+
+include $(FLUGGINSTALL)/config/binmake.gmk
diff --git a/Flugg/examples/fluggEx/BiasEx/include/MyDetectorConstruction.hh b/Flugg/examples/fluggEx/BiasEx/include/MyDetectorConstruction.hh
new file mode 100644 (file)
index 0000000..c0800a0
--- /dev/null
@@ -0,0 +1,32 @@
+// $Id$
+// Flugg tag $Name$
+
+#ifndef MyDetectorConstruction_h
+#define MyDetectorConstruction_h 1
+
+#include "G4VUserDetectorConstruction.hh"
+#include "globals.hh"
+
+class MyDetectorConstruction : public G4VUserDetectorConstruction
+{
+  public:
+    MyDetectorConstruction();
+    ~MyDetectorConstruction();
+     G4VPhysicalVolume* Construct();
+
+  private:
+     G4double expHall_rad;
+     G4double expHall_z;
+
+     G4double tar_rad;
+     G4double tar_z;
+
+     G4double litCil_rad;
+     G4double litCil_z;
+
+     G4double bigCil_rad;
+     G4double bigCil_z;
+};
+
+#endif
+
diff --git a/Flugg/examples/fluggEx/BiasEx/mainBias.cc b/Flugg/examples/fluggEx/BiasEx/mainBias.cc
new file mode 100644 (file)
index 0000000..5afbe2d
--- /dev/null
@@ -0,0 +1,33 @@
+// $Id$
+// Flugg tag $Name$
+
+#include "FGeometryInit.hh"
+#include "MyDetectorConstruction.hh"
+
+#define flukam flukam_
+
+extern "C" void flukam(const G4int & GeoFlag);
+
+int main() {
+
+  FGeometryInit* theFGeometryInit = FGeometryInit::GetInstance();
+  
+  theFGeometryInit
+    ->setDetConstruction(new MyDetectorConstruction());
+
+//flag for geometry:
+// 1 for GEANT4
+// 0 for FLUKA
+// 2 for Rubia
+    const G4int flag = 1;
+
+//call fortran
+    flukam(flag);
+
+//end
+  return 0;
+}
+
+
+
+
diff --git a/Flugg/examples/fluggEx/BiasEx/src/MyDetectorConstruction.cc b/Flugg/examples/fluggEx/BiasEx/src/MyDetectorConstruction.cc
new file mode 100644 (file)
index 0000000..1fb085b
--- /dev/null
@@ -0,0 +1,92 @@
+// $Id$
+// Flugg tag $Name$
+
+#include "MyDetectorConstruction.hh"
+
+#include "G4Box.hh"
+#include "G4Tubs.hh"
+#include "G4Sphere.hh"
+#include "G4LogicalVolume.hh"
+#include "G4RotationMatrix.hh"
+#include "G4ThreeVector.hh"
+#include "G4Transform3D.hh"
+#include "G4PVPlacement.hh"
+
+MyDetectorConstruction::MyDetectorConstruction()
+{
+  expHall_rad = 1000.*cm;
+  expHall_z = 1000.*cm;
+
+  tar_rad = 3.*cm;
+  tar_z = 10.*cm;
+
+  litCil_rad = 1000.*cm;
+  litCil_z = 10.*cm;
+
+  bigCil_rad = 1000.*cm;
+  bigCil_z = 250.*cm;
+}
+
+MyDetectorConstruction::~MyDetectorConstruction()
+{;}
+
+G4VPhysicalVolume* MyDetectorConstruction::Construct()
+{
+//=======================volumes
+//-------------------- experimental hall
+  G4Tubs * experimentalHall_tub 
+    = new G4Tubs("expHall_S",0.*cm,expHall_rad,expHall_z,0.*deg,360.*deg);
+  G4LogicalVolume * experimentalHall_log
+    = new G4LogicalVolume(experimentalHall_tub,0,"expHall_L",0,0,0);
+  G4VPhysicalVolume * experimentalHall_phys
+    = new G4PVPlacement(0,G4ThreeVector(),"expHall_P",
+                       experimentalHall_log,0,false,0);
+
+  //------------------------------ big cylinder
+  G4Tubs * bigCil_tub
+    = new G4Tubs("bigCil_S",0.*cm,bigCil_rad,bigCil_z,0.*deg,360.*deg);
+  G4LogicalVolume * bigCil_log
+    = new G4LogicalVolume(bigCil_tub,0,"bigCil_L",0,0,0);
+  G4VPhysicalVolume * bigCil_phys
+    = new G4PVPlacement(0,G4ThreeVector(0.*cm,0.*cm,750.*cm),"bigCil_P",
+                       bigCil_log,experimentalHall_phys,false,0);
+
+  //------------------------------ target
+  G4Tubs * target_tub
+    = new G4Tubs("tar_S",0.*cm,tar_rad,tar_z,0.*deg,360.*deg);
+  G4LogicalVolume * target_log
+    = new G4LogicalVolume(target_tub,0,"tar_L",0,0,0);
+  G4VPhysicalVolume * target_phys
+    = new G4PVPlacement(0,G4ThreeVector(0.*cm,0.*cm,-10.*cm),"tar_P",
+                       target_log,experimentalHall_phys,false,0);
+
+  //------------------------------ little cylinders
+  G4Tubs * litCil_tub
+    = new G4Tubs("litCil_S",0.*cm,litCil_rad,litCil_z,0.*deg,360.*deg);
+  G4LogicalVolume * litCil_log
+    = new G4LogicalVolume(litCil_tub,0,"litCil_L",0,0,0);
+
+  /*  G4VPhysicalVolume * litCil_phy1
+    = new G4PVPlacement(0,G4ThreeVector(0.*cm,0.*cm,10.*cm),
+                       "litCil_P1",litCil_log,experimentalHall_phys,false,0);
+  G4VPhysicalVolume * litCil_phy2
+    = new G4PVPlacement(0,G4ThreeVector(0.*cm,0.*cm,30.*cm),
+                       "litCil_P2",litCil_log,experimentalHall_phys,false,0);
+  G4VPhysicalVolume * litCil_phy3
+    = new G4PVPlacement(0,G4ThreeVector(0.*cm,0.*cm,50.*cm),
+                       "litCil_P3",litCil_log,experimentalHall_phys,false,0);
+  G4VPhysicalVolume * litCil_phy4
+    = new G4PVPlacement(0,G4ThreeVector(0.*cm,0.*cm,70.*cm),
+                       "litCil_P4",litCil_log,experimentalHall_phys,false,0);
+                       */
+
+       for(G4int i=0;i<25;i++)
+  {
+    cout<<"Cilindretto num. "<<i<<endl;
+    new G4PVPlacement(0,G4ThreeVector(0.*cm,0.*cm,(1+2*i)*10.*cm),"litCil_P",
+                       litCil_log,experimentalHall_phys,false,i);
+  }
+  
+  //------------------------------------------------------------------
+  return experimentalHall_phys;
+}
diff --git a/Flugg/examples/fluggEx/GNUmakefile b/Flugg/examples/fluggEx/GNUmakefile
new file mode 100644 (file)
index 0000000..9429957
--- /dev/null
@@ -0,0 +1,23 @@
+# $Id$
+# --------------------------------------------------------------
+# GNUmakefile for examples module.  Gabriele Cosmo, 06/04/98.
+# --------------------------------------------------------------
+
+ifndef FLUGGINSTALL
+  FLUGGINSTALL = ../..
+endif
+include $(FLUGGINSTALL)/config/architecture.gmk
+
+SUBDIRS = AlAuAl BiasEx MagSphereNotRep T36flugg 
+
+.PHONY : all clean clean_libs
+
+all:
+       @for dir in $(SUBDIRS); do (cd $$dir; $(MAKE)); done
+
+clean:
+       @for dir in $(SUBDIRS); do (cd $$dir; $(MAKE) clean); done
+
+clean_libs:
+       @for dir in $(SUBDIRS); do (cd $$dir; $(MAKE) clean_libs); done
diff --git a/Flugg/examples/fluggEx/MagSphereNotRep/GNUmakefile b/Flugg/examples/fluggEx/MagSphereNotRep/GNUmakefile
new file mode 100644 (file)
index 0000000..6df5935
--- /dev/null
@@ -0,0 +1,22 @@
+# $Id$
+# Flugg tag $Name$
+
+# Id: GNUmakefile,v 2.1 1998/07/02 15:26:52 gunter Exp 
+# --------------------------------------------------------------
+# GNUmakefile for examples module.  Gabriele Cosmo, 06/04/98.
+# --------------------------------------------------------------
+
+name := mainSphereNotRep
+G4TARGET := $(name)
+G4EXLIB := true
+
+ifndef FLUGGINSTALL
+  FLUGGINSTALL = ../../..
+endif
+
+#the target of the first rule of the first makefile is the default goal
+#so "make" will do lib and bin targets.
+.PHONY: all
+all: lib bin
+
+include $(FLUGGINSTALL)/config/binmake.gmk
diff --git a/Flugg/examples/fluggEx/MagSphereNotRep/include/ExN04Field.hh b/Flugg/examples/fluggEx/MagSphereNotRep/include/ExN04Field.hh
new file mode 100644 (file)
index 0000000..15b9be2
--- /dev/null
@@ -0,0 +1,26 @@
+// $Id$
+// Flugg tag $Name$
+
+#ifndef ExN04Field_H
+#define ExN04Field_H 1
+
+#include "globals.hh"
+#include "G4MagneticField.hh"
+
+class ExN04Field : public G4MagneticField
+{
+  public:
+    ExN04Field();
+    ~ExN04Field();
+
+    void GetFieldValue( const  double Point[3],
+                               double *Bfield ) const;
+
+  private:
+    G4double Bz;
+    G4double rmax_sq;
+    G4double zmax;
+};
+
+#endif
+
diff --git a/Flugg/examples/fluggEx/MagSphereNotRep/include/MyDetectorConstruction.hh b/Flugg/examples/fluggEx/MagSphereNotRep/include/MyDetectorConstruction.hh
new file mode 100644 (file)
index 0000000..0edfe82
--- /dev/null
@@ -0,0 +1,118 @@
+// $Id$
+// Flugg tag $Name$
+
+//
+// MyDetectorConstruction.hh,  2000/02/11 for flugg
+// Sara Vanini
+//
+// 
+
+
+#ifndef MyDetectorConstruction_h
+#define MyDetectorConstruction_h 1
+
+#include "G4VUserDetectorConstruction.hh"
+#include "globals.hh"
+
+class G4Box;
+class G4Tubs;
+class G4Sphere;
+class G4VSolid;
+class G4LogicalVolume;
+class G4VPhysicalVolume;
+class G4Material;
+class G4UniformMagField;
+class G4IntersectionSolid;
+
+
+class MyDetectorConstruction : public G4VUserDetectorConstruction
+{
+  public:
+  
+    MyDetectorConstruction();
+   ~MyDetectorConstruction();
+
+  public:
+     
+     G4VPhysicalVolume* Construct();
+  //     SetMagField(G4double fieldValue);
+
+  private:
+     
+     G4Material*        TubMaterial;
+     G4double           TubRad;
+     
+     G4Material*        SphereMaterial;
+     G4double           SphereRad;
+     
+     G4int              NbOfLayers,NbOfTubs,NbOfSpheres;
+     G4double           LayerThickness;
+          
+     G4double           DetSizeX,DetSizeY,DetSizeZ;
+     
+     G4Material*        defaultMaterial, *LayerMaterial;
+     G4double           WorldSize;
+            
+     G4Box*             solidWorld;    //pointer to the solid World 
+     G4LogicalVolume*   logicWorld;    //pointer to the logical World
+     G4VPhysicalVolume* physiWorld;    //pointer to the physical World
+
+     G4Box*             solidDet;    //pointer to the solid Det 
+     G4LogicalVolume*   logicDet;    //pointer to the logical Det
+     G4VPhysicalVolume* physiDet;    //pointer to the physical Det
+     
+     G4Box*             solidLayer;    //pointer to the solid Layer 
+     G4LogicalVolume*   logicLayer;    //pointer to the logical Layer
+     G4VPhysicalVolume* physiLayer1,* physiLayer2,* physiLayer3,
+       * physiLayer4,* physiLayer5,* physiLayer6;    
+       //pointer to the physical Layer
+     G4Box*             solidTubLayer;    //pointer to the solid Layer 
+     G4LogicalVolume*   logicTubLayer;    //pointer to the logical Layer
+     G4VPhysicalVolume* physiTubLayer;    //pointer to the physical Layer
+          
+     G4Sphere*          solidSphere; //pointer to the solid Sphere
+     G4LogicalVolume*   logicSphere; //pointer to the logical Sphere
+     G4VPhysicalVolume* physiSphere; //pointer to the physical Sphere
+     
+     G4Tubs*            solidTub;      //pointer to the solid Tub
+     G4LogicalVolume*   logicTub;      //pointer to the logical Tub
+     G4VPhysicalVolume* physiTub;      //pointer to the physical Tub
+
+     G4Box*             solidBoxIntersTub;
+     G4VSolid*          solidTubSeg;      //pointer to the solid Tub Segment
+     G4LogicalVolume*   logicTubSeg;      //pointer to the logical Tub Segment
+     G4VPhysicalVolume* physiTubSeg;      //pointer to the physical Tub Segment
+
+     G4Box*             solidBoxIntersSph;
+     G4VSolid*          solidSphSeg1,*solidSphSeg2,*solidSphSeg3,*solidSphSeg4;
+                                       //pointers to the solid Sphere Segment
+     G4LogicalVolume*   logicSphSeg1,*logicSphSeg2,*logicSphSeg3,*logicSphSeg4;
+                                       //pointer to the logical Sphere Segment
+     G4VPhysicalVolume* physiSphSeg1,*physiSphSeg2,*physiSphSeg3,*physiSphSeg4;
+                                       //pointer to the physical Sphere Segment
+
+
+
+      
+     G4UniformMagField* magField;      //pointer to the magnetic field
+     
+      
+  private:
+    
+     void DefineMaterials();
+     void ComputeDetectorParameters();
+     G4VPhysicalVolume* ConstructDetector();     
+};
+
+
+
+inline void MyDetectorConstruction::ComputeDetectorParameters()
+{
+  // Compute derived parameters of the calorimeter
+     LayerThickness = 2*SphereRad + 2*TubRad;
+     DetSizeY       = LayerThickness * NbOfLayers;
+}
+
+#endif
+
diff --git a/Flugg/examples/fluggEx/MagSphereNotRep/mainSphereNotRep.cc b/Flugg/examples/fluggEx/MagSphereNotRep/mainSphereNotRep.cc
new file mode 100644 (file)
index 0000000..30c2b6c
--- /dev/null
@@ -0,0 +1,33 @@
+// $Id$
+// Flugg tag $Name$
+
+#include "FGeometryInit.hh"
+#include "MyDetectorConstruction.hh"
+
+#define flukam flukam_
+
+extern "C" void flukam(const G4int & GeoFlag);
+
+int main() {
+
+  FGeometryInit* theFGeometryInit = FGeometryInit::GetInstance();
+  
+  theFGeometryInit
+    ->setDetConstruction(new MyDetectorConstruction());
+
+//flag for geometry:
+// 1 for GEANT4
+// 0 for FLUKA
+// 2 for Rubbia
+    const G4int flag = 1;
+
+//call fortran
+    flukam(flag);
+
+//end
+  return 0;
+}
+
+
+
+
diff --git a/Flugg/examples/fluggEx/MagSphereNotRep/src/ExN04Field.cc b/Flugg/examples/fluggEx/MagSphereNotRep/src/ExN04Field.cc
new file mode 100644 (file)
index 0000000..9434444
--- /dev/null
@@ -0,0 +1,25 @@
+// $Id$
+// Flugg tag $Name$
+
+#include "ExN04Field.hh"
+
+ExN04Field::ExN04Field()
+{
+  Bz = 3.0*tesla;
+  rmax_sq = sqr(50.*cm);
+  zmax = 100.*cm;
+}
+
+ExN04Field::~ExN04Field()
+{;}
+
+void ExN04Field::GetFieldValue(const double Point[3],double *Bfield) const
+{
+  Bfield[0] = 0.;
+  Bfield[1] = 0.;
+  if(abs(Point[2])<zmax && (sqr(Point[0])+sqr(Point[1]))<rmax_sq)
+  { Bfield[2] = Bz; }
+  else
+  { Bfield[2] = 0.; }
+}
+
diff --git a/Flugg/examples/fluggEx/MagSphereNotRep/src/MyDetectorConstruction.cc b/Flugg/examples/fluggEx/MagSphereNotRep/src/MyDetectorConstruction.cc
new file mode 100644 (file)
index 0000000..0cb2f5d
--- /dev/null
@@ -0,0 +1,615 @@
+// $Id$
+// Flugg tag $Name$
+
+//
+// Example with Sphere and Tub layers for testing Magnetic Field in FLUGG 
+// Sara Vanini, 11/02/00. Not replicated volumes!
+//
+
+
+#include "MyDetectorConstruction.hh"
+#include "G4Material.hh"
+#include "G4Tubs.hh"
+#include "G4Box.hh"
+#include "G4Sphere.hh"
+#include "G4LogicalVolume.hh"
+#include "G4PVPlacement.hh"
+#include "G4PVReplica.hh"
+#include "G4UniformMagField.hh"
+#include "G4FieldManager.hh"
+#include "G4VisAttributes.hh"
+#include "G4Colour.hh"
+#include "G4ios.hh"
+#include "G4IntersectionSolid.hh"
+
+
+MyDetectorConstruction::MyDetectorConstruction()
+:solidWorld(NULL),logicWorld(NULL),physiWorld(NULL),
+ solidDet(NULL),logicDet(NULL),physiDet(NULL),
+ solidLayer(NULL),logicLayer(NULL),physiLayer1(NULL),
+ physiLayer2(NULL),physiLayer3(NULL),physiLayer4(NULL),
+ physiLayer5(NULL),physiLayer6(NULL),
+ solidTub(NULL),logicTub(NULL),physiTub(NULL),
+ solidSphere(NULL),logicSphere(NULL),physiSphere(NULL),
+ TubMaterial(NULL),SphereMaterial(NULL),defaultMaterial(NULL),
+ magField(NULL)
+{
+  // default parameter values of the calorimeter
+  WorldSize         = 200.*cm;
+  TubRad            = 3.*mm;
+  SphereRad         = 5.*mm;
+  NbOfLayers        = 6;
+  DetSizeX          = 5.1*cm;
+  DetSizeZ          = 8.*cm;
+  NbOfTubs          = 13;
+  NbOfSpheres       = 40;
+}
+
+
+
+MyDetectorConstruction::~MyDetectorConstruction()
+{}
+
+
+
+G4VPhysicalVolume* MyDetectorConstruction::Construct()
+{
+  DefineMaterials();
+  return ConstructDetector();
+}
+
+
+
+void MyDetectorConstruction::DefineMaterials()
+{ 
+ //This function illustrates the possible ways to define materials
+G4String name, symbol;             //a=mass of a mole;
+G4double a, z, density;            //z=mean number of protons;  
+G4int iz, n;                       //iz=number of protons  in an isotope; 
+                                   // n=number of nucleons in an isotope;
+
+G4int ncomponents, natoms;
+G4double abundance, fractionmass;
+G4double temperature, pressure;
+
+//
+// define Elements
+//
+
+a = 1.01*g/mole;
+G4Element* H  = new G4Element(name="Hydrogen",symbol="H" , z= 1., a);
+
+a = 12.01*g/mole;
+G4Element* C  = new G4Element(name="Carbon"  ,symbol="C" , z= 6., a);
+
+a = 14.01*g/mole;
+G4Element* N  = new G4Element(name="Nitrogen",symbol="N" , z= 7., a);
+
+a = 16.00*g/mole;
+G4Element* O  = new G4Element(name="Oxygen"  ,symbol="O" , z= 8., a);
+
+a = 28.09*g/mole;
+G4Element* Si = new G4Element(name="Silicon",symbol="Si" , z= 14., a);
+
+a = 55.85*g/mole;
+G4Element* Fe = new G4Element(name="Iron"    ,symbol="Fe", z=26., a);
+
+//
+// define an Element from isotopes, by relative abundance 
+//
+
+G4Isotope* U5 = new G4Isotope(name="U235", iz=92, n=235, a=235.01*g/mole);
+G4Isotope* U8 = new G4Isotope(name="U238", iz=92, n=238, a=238.03*g/mole);
+
+G4Element* U  = new G4Element(name="enriched Uranium", symbol="U", ncomponents=2);
+U->AddIsotope(U5, abundance= 90.*perCent);
+U->AddIsotope(U8, abundance= 10.*perCent);
+
+//
+// define simple materials
+//
+
+density = 2.700*g/cm3;
+a = 26.98*g/mole;
+G4Material* Al = new G4Material(name="Aluminium", z=13., a, density);
+
+density = 1.390*g/cm3;
+a = 39.95*g/mole;
+G4Material* lAr = new G4Material(name="liquidArgon", z=18., a, density);
+
+density = 8.960*g/cm3;
+a = 63.55*g/mole;
+G4Material* Cu = new G4Material(name="Copper"   , z=29., a, density);
+
+density = 11.35*g/cm3;
+a = 207.19*g/mole;
+G4Material* Pb = new G4Material(name="Lead"     , z=82., a, density);
+
+//
+// define a material from elements.   case 1: chemical molecule
+//
+density = 1.000*g/cm3;
+G4Material* H2O = new G4Material(name="Water", density, ncomponents=2);
+H2O->AddElement(H, natoms=2);
+H2O->AddElement(O, natoms=1);
+
+density = 1.032*g/cm3;
+G4Material* Sci = new G4Material(name="Scintillator", density, ncomponents=2);
+Sci->AddElement(C, natoms=9);
+Sci->AddElement(H, natoms=10);
+
+density = 2.200*g/cm3;
+G4Material* SiO2 = new G4Material(name="quartz", density, ncomponents=2);
+SiO2->AddElement(Si, natoms=1);
+SiO2->AddElement(O , natoms=2);
+
+//
+// define a material from elements.   case 2: mixture by fractional mass
+//
+
+density = 1.290*mg/cm3;
+G4Material* Air = new G4Material(name="Air"  , density, ncomponents=2);
+Air->AddElement(N, fractionmass=0.7);
+Air->AddElement(O, fractionmass=0.3);
+
+//
+// define a material from elements and/or others materials (mixture of mixtures)
+//
+
+density = 0.200*g/cm3;
+G4Material* Aerog = new G4Material(name="Aerogel", density, ncomponents=3);
+Aerog->AddMaterial(SiO2, fractionmass=62.5*perCent);
+Aerog->AddMaterial(H2O , fractionmass=37.4*perCent);
+Aerog->AddElement (C   , fractionmass= 0.1*perCent);
+
+//
+// examples of gas in non STP conditions
+//
+
+density     = 27.*mg/cm3;
+pressure    = 50.*atmosphere;
+temperature = 325.*kelvin;
+G4Material* CO2 = new G4Material(name="CarbonicGas", density, ncomponents=2,
+                                     kStateGas,temperature,pressure);
+CO2->AddElement(C, natoms=1);
+CO2->AddElement(O, natoms=2);
+density     = 0.3*mg/cm3;
+pressure    = 2.*atmosphere;
+temperature = 500.*kelvin;
+G4Material* steam = new G4Material(name="WaterSteam", density, ncomponents=1,
+                                      kStateGas,temperature,pressure);
+steam->AddMaterial(H2O, fractionmass=1.);
+
+//
+// examples of vacuum
+//
+
+density     = universe_mean_density;    //from PhysicalConstants.h
+pressure    = 3.e-18*pascal;
+temperature = 2.73*kelvin;
+new G4Material(name="Galactic", z=1., a=1.01*g/mole, density,
+                   kStateGas,temperature,pressure);
+
+density     = 1.e-5*g/cm3;
+pressure    = 2.e-2*bar;
+temperature = STP_Temperature;         //from PhysicalConstants.h
+G4Material* beam = new G4Material(name="Beam", density, ncomponents=1,
+                                      kStateGas,temperature,pressure);
+beam->AddMaterial(Air, fractionmass=1.);
+
+//G4cout << *(G4Material::GetMaterialTable()) << endl;
+
+  //default materials of the calorimeter
+  TubMaterial = Al;
+  SphereMaterial = Sci;
+  LayerMaterial = Pb;
+  defaultMaterial = Air;
+}
+
+
+  
+G4VPhysicalVolume* MyDetectorConstruction::ConstructDetector()
+{
+  // complete the Detector parameters definition 
+  ComputeDetectorParameters();
+   
+  //     
+  // World
+  //
+  solidWorld = new G4Box("World",                              //its name
+                   WorldSize/2,WorldSize/2,WorldSize/2);       //its size
+                         
+  logicWorld = new G4LogicalVolume(solidWorld,         //its solid
+                                  defaultMaterial,             //its material
+                                   "World");           //its name
+                                   
+  physiWorld = new G4PVPlacement(0,                    //no rotation
+                                G4ThreeVector(),       //at (0,0,0)
+                                 "World",              //its name
+                                 logicWorld,           //its logical volume
+                                 NULL,                 //its mother  volume
+                                 false,                        //no boolean operation
+                                 0);                   //copy number
+  
+  //                               
+  // Detector
+  //  
+  solidDet=NULL; logicDet=NULL; physiDet=NULL;
+  solidLayer=NULL; logicLayer=NULL; physiLayer1=NULL;
+  physiLayer2=NULL; physiLayer3=NULL; physiLayer4=NULL;
+  physiLayer5=NULL; physiLayer6=NULL;
+  solidTubLayer=NULL; logicTubLayer=NULL; physiTubLayer=NULL;
+  
+      solidDet = new G4Box("Detector",         //its name
+                      DetSizeX/2,DetSizeY/2,DetSizeZ/2);//size
+                            
+      logicDet = new G4LogicalVolume(solidDet, //its solid
+                                      defaultMaterial, //its material
+                                      "Detector");     //its name
+                                      
+      physiDet = new G4PVPlacement(0,                  //no rotation
+                                  G4ThreeVector(2.55*cm,-0.3*cm,4.0*cm),
+                                 "Detector",   //its name
+                                  logicDet,            //its logical volume
+                                  physiWorld,  //its mother  volume
+                                  false,               //no boolean operation
+                                  0);          //copy number
+  //                                 
+  // Layer
+  //
+      solidLayer = new G4Box("Layer",                  //its name
+                       DetSizeX/2,LayerThickness/2,DetSizeZ/2); //size
+                       
+      logicLayer = new G4LogicalVolume(solidLayer,     //its solid
+                                       LayerMaterial,  //its material
+                                       "Layer");       //its name
+      /*
+      if (NbOfLayers > 1)                                      
+        physiLayer = new G4PVReplica("Layer",          //its name
+                                    logicLayer,        //its logical volume
+                                    physiDet,          //its mother
+                                     kYAxis,           //axis of replication
+                                     NbOfLayers,       //number of replica
+                                     LayerThickness);  //witdth of replica
+      else
+        physiLayer = new G4PVPlacement(0,              //no rotation
+                                     G4ThreeVector(),  //at (0,0,0)
+                                     "Layer",          //its name
+                                     logicLayer,       //its logical volume
+                                     physiDet, //its mother  volume
+                                     false,            //no boolean operation
+                                     0);               //copy number     
+      */
+
+        physiLayer1 = new G4PVPlacement(0,             //no rotation
+                                     G4ThreeVector(0,
+                                    -DetSizeY/2+LayerThickness/2,0),
+                                     "Layer 1",                //its name
+                                     logicLayer,       //its logical volume
+                                     physiDet, //its mother  volume
+                                     false,            //no boolean operation
+                                     0);               //copy number     
+
+        physiLayer2 = new G4PVPlacement(0,             //no rotation
+                                     G4ThreeVector(0,
+                                     -DetSizeY/2+3*LayerThickness/2,0),
+                                     "Layer 2",                //its name
+                                     logicLayer,       //its logical volume
+                                     physiDet, //its mother  volume
+                                     false,            //no boolean operation
+                                     0);               //copy number     
+
+        physiLayer3 = new G4PVPlacement(0,             //no rotation
+                                     G4ThreeVector(0,
+                                    -LayerThickness/2,0),
+                                     "Layer 3",                //its name
+                                     logicLayer,       //its logical volume
+                                     physiDet, //its mother  volume
+                                     false,            //no boolean operation
+                                     0);               //copy number     
+
+        physiLayer4 = new G4PVPlacement(0,             //no rotation
+                                     G4ThreeVector(0,
+                                     +LayerThickness/2,0),
+                                     "Layer 4",                //its name
+                                     logicLayer,       //its logical volume
+                                     physiDet, //its mother  volume
+                                     false,            //no boolean operation
+                                     0);               //copy number     
+
+        physiLayer5 = new G4PVPlacement(0,             //no rotation
+                                     G4ThreeVector(0,
+                                    +3*LayerThickness/2,0),
+                                     "Layer 5",                //its name
+                                     logicLayer,       //its logical volume
+                                     physiDet, //its mother  volume
+                                     false,            //no boolean operation
+                                     0);               //copy number     
+
+        physiLayer6 = new G4PVPlacement(0,             //no rotation
+                                     G4ThreeVector(0,
+                                    +5*LayerThickness/2,0),
+                                     "Layer 6",                //its name
+                                     logicLayer,       //its logical volume
+                                     physiDet, //its mother  volume
+                                     false,            //no boolean operation
+                                     0);               //copy number     
+
+
+
+
+
+
+      /*
+  //                                 
+  // Tub-Layer
+  //
+      solidTubLayer = new G4Box("Tub-Layer",                   //its name
+                       TubRad*NbOfTubs,TubRad,DetSizeX/2); //size
+                       
+      logicTubLayer = new G4LogicalVolume(solidTubLayer,       //its solid
+                                       LayerMaterial,  //its material
+                                       "Tub Layer");   //its name
+
+      G4RotationMatrix * rm = new G4RotationMatrix();
+      G4double phi = 90*deg;
+      rm->rotateY(phi);
+
+      physiTubLayer = new G4PVPlacement(rm,            //rotation
+                                     G4ThreeVector(0,SphereRad,-0.1*cm),
+                                     logicTubLayer,    //its logical volume
+                                    "Tub Layer",               //its name
+                                     logicLayer,       //its mother  volume
+                                     false,            //no boolean operation
+                                     0);               //copy number     
+      */
+  //                               
+  // Tubs
+  //
+  solidTub=NULL; logicTub=NULL; physiTub=NULL;solidBoxIntersTub=NULL;  
+  solidTubSeg=NULL; logicTubSeg=NULL; physiTubSeg=NULL; 
+  
+  if (TubRad > 0.) 
+    { solidTub = new G4Tubs("Tub",             //its name
+                           0,
+                           TubRad,
+                           DetSizeX/2,
+                           0.*deg,
+                           360.*deg); 
+                          
+      logicTub = new G4LogicalVolume(solidTub,    //its solid
+                                    TubMaterial, //its material
+                                    "Tub");      //its name
+
+      G4RotationMatrix * rm = new G4RotationMatrix();
+      G4double phi = 90*deg;
+      rm->rotateY(phi);
+
+      for(int tubCopy=0; tubCopy<NbOfTubs; tubCopy++)
+      {
+        physiTub = new G4PVPlacement(rm,               //rotation
+               G4ThreeVector(0,SphereRad,
+                        -TubRad*NbOfTubs+TubRad*(1+2*tubCopy)-0.1*cm),
+                         logicTub,             //its logical volume
+                        "Tub",                 //its name
+                         logicLayer,           //its mother  volume
+                         false,                        //no boolean operation
+                         tubCopy);                     //copy number
+
+      }
+
+
+      /*
+      physiTub = new G4PVReplica("Tub",                //its name
+                                logicTub,      //its logical volume
+                                physiTubLayer,         //its mother
+                                 kXAxis,               //axis of replication
+                                 NbOfTubs,     //number of replica
+                                 2*TubRad);    //witdth of replica
+      */
+      
+  //Tub segments
+      solidBoxIntersTub = new G4Box("Tub segment",  //its name
+                      TubRad,
+                      TubRad,
+                      DetSizeX/2);
+
+      solidTubSeg = new G4IntersectionSolid("Tub segment",
+                                           solidTub,
+                                           solidBoxIntersTub,
+                                           0,
+                                           G4ThreeVector(-0.4*cm,0,0));
+
+      logicTubSeg = new G4LogicalVolume(solidTubSeg,    //its solid
+                                    TubMaterial, //its material
+                                    "Tub segment");      //its name
+
+      physiTubSeg = new G4PVPlacement(rm,              //rotation
+                                   G4ThreeVector(0,SphereRad,4.1*cm),
+                                  logicTubSeg,         //its logical volume   
+                                   "Tub segment",      //its name
+                                   logicLayer,         //its mother  volume
+                                   false,              //no boolean operation
+                                   0);                 //copy number   
+      
+    }
+  
+  //                                 
+  // Spheres
+  //
+  solidSphere=NULL; logicSphere=NULL; physiSphere=NULL; 
+  
+  if (SphereRad > 0.)
+    { solidSphere = new G4Sphere("Sphere",
+                             0*cm,SphereRad,
+                             0,360*deg,
+                             0,180*deg);
+               
+      logicSphere = new G4LogicalVolume(solidSphere,
+                                    SphereMaterial,
+                                    "Sphere");
+      
+      G4double serie, element, Xposition, Yposition, Zposition;
+      for(int copyNo=0;copyNo<40;copyNo++)
+       {
+        serie = int(copyNo/9);
+         element = copyNo - serie * 9 + 1;
+         Yposition = -TubRad;
+
+        if (element<5)
+          {
+            Xposition = -2.55*cm + 2*SphereRad * element;
+            Zposition = -4.0*cm + SphereRad + sqrt(3)*SphereRad*2*serie;
+          }
+        else 
+          {
+            Xposition = -2.55*cm + SphereRad + (2*SphereRad)*(element-5);
+            Zposition = -4.0*cm + SphereRad + sqrt(3)*SphereRad*(2*serie+1);
+          }     
+
+         physiSphere = new G4PVPlacement(0,            //rotation
+                              G4ThreeVector(Xposition,Yposition,Zposition),
+                             logicSphere,              //its logical volume
+                             "Sphere",                 //its name
+                              logicLayer,              //its mother  volume
+                              false,                   //no boolean operation
+                              copyNo);                 //copy number   
+      
+       }
+
+  //Sphere segments
+      solidBoxIntersSph = new G4Box("Sphere segment solid",  //its name
+                       SphereRad,
+                      SphereRad,
+                      SphereRad);
+
+
+      solidSphSeg1 = new G4IntersectionSolid("Sphere segment 1",
+                                            solidSphere,
+                                           solidBoxIntersSph,
+                                           0,
+                                           G4ThreeVector(SphereRad,0,0));
+
+      logicSphSeg1 = new G4LogicalVolume(solidSphSeg1,
+                                    SphereMaterial,
+                                    "Sphere segment 1");
+
+      solidSphSeg2 = new G4IntersectionSolid("Sphere segment 2",
+                                            solidSphere,
+                                            solidBoxIntersSph,
+                                            0,
+                                            G4ThreeVector(-0.4*cm,0,0));
+
+      logicSphSeg2 = new G4LogicalVolume(solidSphSeg2,
+                                    SphereMaterial,
+                                    "Sphere segment 2");
+
+      solidSphSeg3 = new G4IntersectionSolid("Sphere segment 3",
+                                            solidSphere,
+                                            solidBoxIntersSph,
+                                            0,
+                                            G4ThreeVector(-0.9*cm,0,0));
+
+      logicSphSeg3 = new G4LogicalVolume(solidSphSeg3,
+                                    SphereMaterial,
+                                    "Sphere segment 3");
+
+      solidSphSeg4 = new G4IntersectionSolid("Sphere segment 4", 
+                                            solidSphere,
+                                            solidBoxIntersSph,
+                                            0,
+                                            G4ThreeVector(0,0,
+                                             8.0*cm-(9*sqrt(3)+2)*SphereRad));
+
+      logicSphSeg4 = new G4LogicalVolume(solidSphSeg4,
+                                    SphereMaterial,
+                                    "Sphere segment 4");
+
+
+      for(int s1=0;s1<5;s1++)
+      {
+        physiSphSeg1 = new G4PVPlacement(0,            //no rotation
+                         G4ThreeVector(-DetSizeX/2,-TubRad,
+                        -4.0*cm+SphereRad+sqrt(3)*SphereRad*2*s1),
+                         logicSphSeg1,         //its logical volume
+                        "Sphere segments 1",           //its name
+                         logicLayer,           //its mother  volume
+                         false,                        //no boolean operation
+                         s1);                  //copy number
+
+        physiSphSeg2 = new G4PVPlacement(0,            //no rotation
+                         G4ThreeVector(2.45*cm,-TubRad,
+                        -4.0*cm+SphereRad+sqrt(3)*SphereRad*2*s1),
+                         logicSphSeg2,         //its logical volume
+                        "Sphere segments 2",           //its name
+                         logicLayer,           //its mother  volume
+                         false,                        //no boolean operation
+                         s1);                  //copy number
+       
+        physiSphSeg4 = new G4PVPlacement(0,            //no rotation
+                         G4ThreeVector(
+                        -2.55*cm+SphereRad+2*SphereRad*s1,
+                        -TubRad,
+                        -4.0*cm+SphereRad+sqrt(3)*SphereRad*9),
+                         logicSphSeg4,         //its logical volume
+                         "Sphere segments 4",          //its name
+                         logicLayer,           //its mother  volume
+                         false,                        //no boolean operation
+                         s1);                  //copy number
+      }
+      
+      for(int s2=0;s2<4;s2++)
+      {
+        physiSphSeg3 = new G4PVPlacement(0,            //no rotation
+                         G4ThreeVector(2.95*cm,
+                        -TubRad,
+                        -4.0*cm+SphereRad+sqrt(3)*SphereRad*(2*s2+1)),
+                         logicSphSeg3,         //its logical volume
+                         "Sphere segments 3",          //its name
+                         logicLayer,           //its mother  volume
+                         false,                        //no boolean operation
+                         s2);                  //copy number
+                        }
+    }
+
+  
+  //                                        
+  // Visualization attributes
+  //
+  logicWorld->SetVisAttributes (G4VisAttributes::Invisible);
+  G4VisAttributes* simpleBoxVisAtt= new G4VisAttributes(G4Colour(1.0,1.0,1.0));
+  simpleBoxVisAtt->SetVisibility(true);
+  logicDet->SetVisAttributes(simpleBoxVisAtt);
+
+  //
+  //always return the physical World
+  //
+
+  return physiWorld;
+}
+
+
+
+/*
+void MyDetectorConstruction::SetMagField(G4double fieldValue)
+{
+  //apply a global uniform magnetic field along Z axis
+  FGeometryInit * ptrGeoInit = FGeometryInit::GetInstance();
+  G4FieldManager* fieldMgr = ptrGeoInit->getFieldManager();
+    
+  if(magField) delete magField;                //delete the existing magn field
+  
+  if(fieldValue!=0.)                   // create a new one if non nul
+  { magField = new G4UniformMagField(G4ThreeVector(0.,0.,fieldValue));        
+    fieldMgr->SetDetectorField(magField);
+    fieldMgr->CreateChordFinder(magField);
+  } else {
+    magField = NULL;
+    fieldMgr->SetDetectorField(magField);
+  }
+ }
+
+  */
diff --git a/Flugg/examples/fluggEx/T36flugg/GNUmakefile b/Flugg/examples/fluggEx/T36flugg/GNUmakefile
new file mode 100644 (file)
index 0000000..1203185
--- /dev/null
@@ -0,0 +1,22 @@
+# $Id$
+# Flugg tag $Name$
+
+# Id: GNUmakefile,v 2.1 1998/07/02 15:26:52 gunter Exp 
+# --------------------------------------------------------------
+# GNUmakefile for examples module.  Gabriele Cosmo, 06/04/98.
+# --------------------------------------------------------------
+
+name := mainT36
+G4TARGET := $(name)
+G4EXLIB := true
+
+ifndef FLUGGINSTALL
+  FLUGGINSTALL = ../../..
+endif
+
+#the target of the first rule of the first makefile is the default goal
+#so "make" will do lib and bin targets.
+.PHONY: all
+all: lib bin
+
+include $(FLUGGINSTALL)/config/binmake.gmk
diff --git a/Flugg/examples/fluggEx/T36flugg/include/MyDetectorConstruction.hh b/Flugg/examples/fluggEx/T36flugg/include/MyDetectorConstruction.hh
new file mode 100644 (file)
index 0000000..e027c36
--- /dev/null
@@ -0,0 +1,150 @@
+// $Id$
+// Flugg tag $Name$
+
+// MyDetectorConstruction.hh, 11/XII/1998  -  Sara Vanini
+// GEANT4 tag $Name$
+//
+// 
+
+#ifndef MyDetectorConstruction_h
+#define MyDetectorConstruction_h 1
+
+#include "G4VUserDetectorConstruction.hh"
+#include "globals.hh"
+
+class G4Box;
+class G4Tubs;
+class G4LogicalVolume;
+class G4VPhysicalVolume;
+class G4Material;
+class G4UniformMagField;
+//class T36EMCalorimeterSD;
+//class T36HADCalorimeterSD;
+
+class MyDetectorConstruction : public G4VUserDetectorConstruction
+{
+  public:
+  
+    MyDetectorConstruction();
+   ~MyDetectorConstruction();
+    G4VPhysicalVolume* Construct();
+    void SetMagField(G4double);
+    void PrintCalorParameters();
+
+//for N02 (1+staies for the last HAD absorber):
+    G4int GetNbOfLayers()      {return (1+NbOfEMLayers+NbOfHADLayers);};
+
+
+    G4int GetNbOfEMLayers()              {return NbOfEMLayers;};
+    G4int GetNbOfHADLayers()              {return NbOfHADLayers;};
+    G4double GetWorldSizeX()           {return WorldSizeX;};
+    G4double GetWorldSizeY()          {return WorldSizeY;};
+    G4double GetWorldSizeZ()          {return WorldSizeZ;};
+    G4double GetCalorSizeY()          {return ModuleSizeY;};
+    G4double GetCalorSizeZ()          {return CalorSizeZ;};
+    const G4VPhysicalVolume* GetEMphysiAbs()   {return EMphysiAbsorber;};
+    const G4VPhysicalVolume* GetEMphysiGap()        {return EMphysiGap;};
+    const G4VPhysicalVolume* GetHADphysiAbs()   {return HADphysiAbsorber;};
+    const G4VPhysicalVolume* GetlastHADAbsorber()   {return lastHADphysiAbsorber;};
+    const G4VPhysicalVolume* GetHADphysiGap()        {return HADphysiGap;};
+        
+    const G4VPhysicalVolume* GetEMphysiAbMedShield() {return EMphysiAbMedShield;};
+
+    const G4VPhysicalVolume* GetEMphysiSc() {return EMphysiSc;};
+
+    const G4VPhysicalVolume* GetHADphysiAbMedShield() {return HADphysiAbMedShield;};
+    const G4VPhysicalVolume* GetHADphysiAbExShield() {return HADphysiAbExShield;};
+    const G4VPhysicalVolume* GetHADphysiSc() {return HADphysiSc;};
+
+    const G4VPhysicalVolume* GetlastHADphysiAbs() {return lastHADphysiAbsorber;};
+   
+        
+  private:
+     
+     G4double           EMModuleThickness,EMModuleSizeZ;
+     G4double           HADModuleThickness,HADModuleSizeZ;
+     G4Material*        AbsorberMaterial,*GapMaterial,*defaultMaterial;
+     G4Material*        RodMaterial,*ScMaterial,*SpacerMaterial;
+     G4Material*        WLSMaterial,*frontPlateMaterial,*MedAbsMaterial,*ExAbsMaterial; 
+     G4Material*        vacuum,*WLSMat,*Al,*MedLead,*ExLead;
+     G4double           AbsorberThickness,AbMedShieldThickness,AbExShieldThickness;
+     
+     G4double           GapThickness;
+     
+     G4int              NbOfEMLayers,NbOfHADLayers,NbOfModules;
+     G4double           LayerThickness;
+          
+     G4double           ModuleSizeX,ModuleSizeY,ModuleSizeZ,CalorSizeZ;
+     G4double          EMWLSSizeX,EMWLSSizeZ,RodRad;
+     G4double          HADWLSSizeX,HADWLSSizeZ;
+     G4double          ScThickness,ScSizeY,AlSizeX,SpaSizeX;
+     G4double          SpacerThickness,SpacerSizeY;
+
+     G4double           WorldSizeX,WorldSizeY,WorldSizeZ;
+            
+     G4Box*             solidWorld,*solidFrontVac;    //pointer to the solid World 
+     G4LogicalVolume*   logicWorld,*logicFrontVac;    //pointer to the logical World
+     G4VPhysicalVolume* physiWorld,*physiFrontVac;    //pointer to the physical World
+
+     G4Box*             solidCalor,*solidModule,*solidEMWLS,*solidHADWLS,*solidSpace; 
+     G4LogicalVolume*   logicCalor,*logicModule,*logicEMWLS,*logicHADWLS,*logicSpace;
+     G4VPhysicalVolume* physiCalor,*physiModule,*physiSpace;
+     
+     G4Box*             EMsolidLayer,*HADsolidLayer,*solidAl,*EMsolidModule,*HADsolidModule; 
+     G4LogicalVolume*   EMlogicLayer,*HADlogicLayer,*logicAl,*EMlogicModule,*HADlogicModule;
+     G4VPhysicalVolume* EMphysiLayer,*HADphysiLayer,*physiAl,*EMphysiModule,*HADphysiModule;
+         
+     G4Box*             EMsolidAbsorber,*HADsolidAbsorber,*lastHADsolidAbsorber;
+     G4LogicalVolume*   EMlogicAbsorber,*HADlogicAbsorber,*lastHADlogicAbsorber; 
+     G4VPhysicalVolume* EMphysiAbsorber,*HADphysiAbsorber,*lastHADphysiAbsorber;
+     
+     G4Box*             EMsolidAbMedShield,*HADsolidAbMedShield,*EMsolidAbExShield,*HADsolidAbExShield;
+     G4LogicalVolume*   EMlogicAbMedShield,*HADlogicAbMedShield,*EMlogicAbExShield,*HADlogicAbExShield; 
+     G4VPhysicalVolume* EMphysiAbMedShield,*HADphysiAbMedShield,*lastHADphysiAbMedShield;
+     G4VPhysicalVolume* EMphysiAbExShield,*HADphysiAbExShield,*lastHADphysiAbExShield;   
+
+     G4Box*             EMsolidGap,*HADsolidGap,*EMsolidSc,*HADsolidSc;
+     G4LogicalVolume*   EMlogicGap,*HADlogicGap,*EMlogicSc,*HADlogicSc;
+     G4VPhysicalVolume* EMphysiGap,*HADphysiGap,*EMphysiSc,*HADphysiSc;
+
+     G4Box*            EMsolidSpacer,*HADsolidSpacer;
+     G4Tubs*           EMsolidRod,*HADsolidRod;
+     G4LogicalVolume*   EMlogicRod,*HADlogicRod,*EMlogicSpacer,*HADlogicSpacer;
+     
+     G4UniformMagField* magField;      //pointer to the magnetic field
+
+     //pointer to the sensitive detectors - EM and HAD
+  //     T36EMCalorimeterSD* EMcalorimeterSD;
+  //     T36HADCalorimeterSD* HADcalorimeterSD;  
+
+//for N02
+//     ExN02CalorimeterSD* calorimeterSD;
+  private:
+   
+     void DefineMaterials();
+     void ComputeCalorParameters();
+     G4VPhysicalVolume* ConstructCalorimeter();     
+};
+
+
+
+inline void MyDetectorConstruction::ComputeCalorParameters()
+{
+  // Compute derived parameters of the calorimeter
+
+     LayerThickness = AbsorberThickness + GapThickness;
+     EMModuleThickness = NbOfEMLayers*LayerThickness;
+     HADModuleThickness = NbOfHADLayers*LayerThickness;
+
+     EMWLSSizeX = EMModuleThickness + HADModuleThickness + AbsorberThickness;
+     HADWLSSizeX = HADModuleThickness + AbsorberThickness;
+
+     ModuleSizeZ = 2*EMWLSSizeZ + EMModuleSizeZ;
+     CalorSizeZ = NbOfModules*ModuleSizeZ;
+     ModuleSizeX = AlSizeX + (NbOfEMLayers+NbOfHADLayers)*LayerThickness
+                + AbsorberThickness + SpaSizeX; 
+}
+
+#endif
+
diff --git a/Flugg/examples/fluggEx/T36flugg/include/T36LayerParam.hh b/Flugg/examples/fluggEx/T36flugg/include/T36LayerParam.hh
new file mode 100644 (file)
index 0000000..323136e
--- /dev/null
@@ -0,0 +1,33 @@
+// $Id$
+// Flugg tag $Name$
+
+//
+//  Parameterisation for t36 EM and HAD layers
+//
+
+#ifndef T36LayerParam_H
+#define T36LayerParam_H 1
+
+#include "globals.hh"
+#include "G4VPVParameterisation.hh"
+
+class G4VPhysicalVolume;
+class G4Box;
+
+class T36LayerParam : public G4VPVParameterisation
+{ 
+  public:
+    T36LayerParam(G4double LayerThickness, G4double NbOfLayers); 
+    ~T36LayerParam();
+    void ComputeTransformation
+    (const G4int copyNo,G4VPhysicalVolume *physVol) const;
+
+  private:
+
+    G4double fLayerThickness;  
+    G4double fNbOfLayers;      
+};
+
+#endif
+
+
diff --git a/Flugg/examples/fluggEx/T36flugg/include/T36ModuleParam.hh b/Flugg/examples/fluggEx/T36flugg/include/T36ModuleParam.hh
new file mode 100644 (file)
index 0000000..9445018
--- /dev/null
@@ -0,0 +1,33 @@
+// $Id$
+// Flugg tag $Name$
+
+//
+//  Parameterisation for t36 module
+//
+
+#ifndef T36ModuleParam_H
+#define T36ModuleParam_H 1
+
+#include "globals.hh"
+#include "G4VPVParameterisation.hh"
+
+class G4VPhysicalVolume;
+class G4Box;
+
+class T36ModuleParam : public G4VPVParameterisation
+{ 
+  public:
+    T36ModuleParam(G4double ModuleSizeZ, G4double NbOfModules); 
+    ~T36ModuleParam();
+    void ComputeTransformation
+    (const G4int copyNo,G4VPhysicalVolume *physVol) const;
+
+  private:
+
+    G4double fModuleSizeZ;  
+    G4double fNbOfModules;      
+};
+
+#endif
+
+
diff --git a/Flugg/examples/fluggEx/T36flugg/mainT36.cc b/Flugg/examples/fluggEx/T36flugg/mainT36.cc
new file mode 100644 (file)
index 0000000..5afbe2d
--- /dev/null
@@ -0,0 +1,33 @@
+// $Id$
+// Flugg tag $Name$
+
+#include "FGeometryInit.hh"
+#include "MyDetectorConstruction.hh"
+
+#define flukam flukam_
+
+extern "C" void flukam(const G4int & GeoFlag);
+
+int main() {
+
+  FGeometryInit* theFGeometryInit = FGeometryInit::GetInstance();
+  
+  theFGeometryInit
+    ->setDetConstruction(new MyDetectorConstruction());
+
+//flag for geometry:
+// 1 for GEANT4
+// 0 for FLUKA
+// 2 for Rubia
+    const G4int flag = 1;
+
+//call fortran
+    flukam(flag);
+
+//end
+  return 0;
+}
+
+
+
+
diff --git a/Flugg/examples/fluggEx/T36flugg/src/MyDetectorConstruction.cc b/Flugg/examples/fluggEx/T36flugg/src/MyDetectorConstruction.cc
new file mode 100644 (file)
index 0000000..6fdadca
--- /dev/null
@@ -0,0 +1,895 @@
+// $Id$
+// Flugg tag $Name$
+
+//
+// MyDetectorConstruction.hh, 3/III/1998  -  Sara Vanini
+// T36 calorimeter with parametric volumes insted of replicans
+//
+// 
+
+//#include "T36EMCalorimeterSD.hh"
+//#include "T36HADCalorimeterSD.hh"
+#include "MyDetectorConstruction.hh"
+//#include "T36ModuleParam.hh"
+#include "T36LayerParam.hh"
+
+#include "G4Material.hh"
+#include "G4Box.hh"
+#include "G4Tubs.hh"
+#include "G4LogicalVolume.hh"
+#include "G4PVPlacement.hh"
+#include "G4PVReplica.hh"
+#include "G4PVParameterised.hh"
+#include "G4VPVParameterisation.hh"
+//#include "G4SDManager.hh"
+//#include "G4RunManager.hh"
+#include "G4UniformMagField.hh"
+#include "G4FieldManager.hh"
+#include "G4TransportationManager.hh"
+#include "G4VisAttributes.hh"
+#include "G4Colour.hh"
+#include "G4ios.hh"
+
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
+
+
+MyDetectorConstruction::MyDetectorConstruction()
+:solidWorld(NULL),logicWorld(NULL),physiWorld(NULL),
+ solidCalor(NULL),logicCalor(NULL),physiCalor(NULL),
+ solidModule(NULL),logicModule(NULL),physiModule(NULL),
+ EMsolidModule(NULL),EMlogicModule(NULL),EMphysiModule(NULL),
+ HADsolidModule(NULL),HADlogicModule(NULL),HADphysiModule(NULL),
+ solidFrontVac(NULL),logicFrontVac(NULL),physiFrontVac(NULL),
+
+ solidEMWLS(NULL),logicEMWLS(NULL),solidHADWLS(NULL),logicHADWLS(NULL),
+ solidAl(NULL),logicAl(NULL),physiAl(NULL),
+ solidSpace(NULL),logicSpace(NULL),physiSpace(NULL),
+ EMsolidLayer(NULL),EMlogicLayer(NULL),EMphysiLayer(NULL),
+ HADsolidLayer(NULL),HADlogicLayer(NULL),HADphysiLayer(NULL),
+
+ EMsolidAbsorber(NULL),EMlogicAbsorber(NULL),EMphysiAbsorber(NULL),
+ HADsolidAbsorber(NULL),HADlogicAbsorber(NULL),HADphysiAbsorber(NULL),
+ lastHADsolidAbsorber(NULL),lastHADlogicAbsorber(NULL),lastHADphysiAbsorber(NULL),
+ lastHADphysiAbMedShield(NULL),lastHADphysiAbExShield(NULL),
+ EMsolidAbMedShield(NULL),EMlogicAbMedShield(NULL),EMphysiAbMedShield(NULL),
+ EMsolidAbExShield(NULL),EMlogicAbExShield(NULL),EMphysiAbExShield(NULL),
+ HADsolidAbMedShield(NULL),HADlogicAbMedShield(NULL),HADphysiAbMedShield(NULL),
+ HADsolidAbExShield(NULL),HADlogicAbExShield(NULL),HADphysiAbExShield(NULL),
+
+
+ EMsolidGap(NULL),EMlogicGap(NULL),EMphysiGap(NULL),
+ HADsolidGap(NULL),HADlogicGap(NULL),HADphysiGap(NULL),
+ EMsolidSc(NULL),EMlogicSc(NULL),EMphysiSc(NULL),
+ HADsolidSc(NULL),HADlogicSc(NULL),HADphysiSc(NULL),
+ AbsorberMaterial(NULL),GapMaterial(NULL),ScMaterial(NULL),WLSMaterial(NULL),
+ RodMaterial(NULL),defaultMaterial(NULL),SpacerMaterial(NULL),
+ frontPlateMaterial(NULL),MedAbsMaterial(NULL),ExAbsMaterial(NULL),
+ EMsolidRod(NULL),HADsolidRod(NULL),EMlogicRod(NULL),HADlogicRod(NULL),
+ EMsolidSpacer(NULL),HADsolidSpacer(NULL),EMlogicSpacer(NULL),HADlogicSpacer(NULL)
+
+{
+  WorldSizeX = 4000*mm; 
+  WorldSizeY = 4000*mm;
+  WorldSizeZ = 4000*mm;    
+
+  // default parameter values of the calorimeter
+  // EMWLSSizeX       = 1103.5*mm; //copre tutta la torre
+  EMWLSSizeZ       = 5*mm;    
+  // HADWLSSizeX      = 887.5*mm;  //come input fluka: dal layer 17 per tutta la torre
+  HADWLSSizeZ      = 3.5*mm;  
+  ScSizeY          = 218*mm;
+  ScThickness      = 2.5*mm;
+  RodRad           = 1*mm;
+  AlSizeX          = 20*mm;
+  SpaSizeX         = 1*mm;
+  EMModuleSizeZ    = 218*mm;
+  HADModuleSizeZ   = 211*mm;
+  SpacerThickness  = 3.5*mm;
+  SpacerSizeY      = 21*mm;
+
+
+  AbsorberThickness = 10.*mm;
+  AbMedShieldThickness = 8.*mm;
+  AbExShieldThickness = 1.*mm;
+  GapThickness      = 3.5*mm;
+  NbOfEMLayers      = 16;
+  NbOfHADLayers     = 65;
+  EMModuleSizeZ     = 218*mm;
+  HADModuleSizeZ     = 211*mm;
+
+  ModuleSizeY       = 700*mm;
+  NbOfModules       = 3;
+}
+
+
+MyDetectorConstruction::~MyDetectorConstruction()
+{}
+
+
+G4VPhysicalVolume* MyDetectorConstruction::Construct()
+{
+  DefineMaterials();
+  return ConstructCalorimeter();
+}
+
+
+void MyDetectorConstruction::DefineMaterials()
+{ 
+ //This function illustrates the possible ways to define materials
+G4String name, symbol;             //a=mass of a mole;
+G4double a, z, density;            //z=mean number of protons;  
+G4int iz, n;                       //iz=number of protons  in an isotope; 
+                                   // n=number of nucleons in an isotope;
+
+G4int ncomponents, natoms;
+G4double abundance, fractionmass;
+G4double temperature, pressure;
+
+//
+// define Elements
+//
+
+a = 1.0079*g/mole;
+G4Element* H  = new G4Element(name="Hydrogen",symbol="H" , z= 1., a);
+
+a = 12.01*g/mole;
+G4Element* C  = new G4Element(name="Carbon"  ,symbol="C" , z= 6., a);
+
+a = 14.007*g/mole;
+G4Element* N  = new G4Element(name="Nitrogen",symbol="N" , z= 7., a);
+
+a = 15.999*g/mole;
+G4Element* O  = new G4Element(name="Oxygen"  ,symbol="O" , z= 8., a);
+
+a = 39.948*g/mole;
+G4Element* Ar  = new G4Element(name="Argon"  ,symbol="Ar" , z= 18., a);
+
+a = 207.19*g/mole;
+G4Element* Pb  = new G4Element(name="Lead"  ,symbol="Pb" , z= 82., a);
+
+a = 121.75*g/mole;
+G4Element* Sb  = new G4Element(name="Antimony"  ,symbol="Sb" , z= 51., a);
+
+
+//
+// define simple materials
+//
+
+density     = universe_mean_density;    //from PhysicalConstants.h
+pressure    = 3.e-18*pascal;
+temperature = 2.73*kelvin;
+G4Material* vacuum = new G4Material(name="Galactic", z=1., a=1.01*g/mole, density,
+                   kStateGas,temperature,pressure);
+
+density = 2.700*g/cm3;
+a = 26.982*g/mole;
+G4Material* Al = new G4Material(name="Aluminium", z=13., a, density);
+
+// il numero di atomi e` stato normalizzato al numero di atomi della molecola!
+// posso usare la formula chimica minimale, quindi moltiplicare per un 
+// fattore comune fino ad ottenere interi.
+
+density = 1.170*g/cm3;
+G4Material* WLSMat = new G4Material(name="PMMAWLS", density, ncomponents=3);
+WLSMat->AddElement(H, natoms=100);
+WLSMat->AddElement(C, natoms=57);
+WLSMat->AddElement(O, natoms=57);
+
+//N.B. le frazioni di massa sono state normalizzate ad 1 rispetto all`input di fluka!
+density = 11.3*g/cm3;
+G4Material* ExLead = new G4Material(name="LeadSB", density, ncomponents=2);
+ExLead->AddElement(Pb, fractionmass=0.96);
+ExLead->AddElement(Sb, fractionmass=0.04);
+
+density = 11.3*g/cm3;
+G4Material* MedLead = new G4Material(name="LeadSB0", density, ncomponents=2);  
+MedLead->AddElement(Pb, fractionmass=0.96);
+MedLead->AddElement(Sb, fractionmass=0.04);
+
+density = 0.001225*g/cm3;
+G4Material* Air = new G4Material(name="Air", density, ncomponents=3);
+Air->AddElement(N, fractionmass=0.7555795);
+Air->AddElement(O, fractionmass=0.23158806);
+Air->AddElement(Ar, fractionmass=0.012832444);
+
+density = 1.044*g/cm3;
+G4Material* SciMat = new G4Material(name="SCSN38", density, ncomponents=2);
+SciMat->AddElement(H, natoms=1);
+SciMat->AddElement(C, natoms=1);
+
+
+//G4cout << *(G4Material::GetMaterialTable()) << endl;
+
+  //default materials of the calorimeter
+  GapMaterial      = Air;
+  defaultMaterial  = Air;
+  SpacerMaterial   = Al;
+  RodMaterial      = SciMat;
+  ScMaterial       = SciMat;
+
+  WLSMaterial          = WLSMat;
+  frontPlateMaterial   = Al;
+  MedAbsMaterial      = MedLead;
+  ExAbsMaterial       = ExLead;
+}
+
+
+
+  
+G4VPhysicalVolume* MyDetectorConstruction::ConstructCalorimeter()
+{
+  // complete the Calor parameters definition 
+  ComputeCalorParameters();
+   
+  //     
+  // World
+  //
+  solidWorld = new G4Box("World",                              //its name
+                   WorldSizeX/2,WorldSizeY/2,WorldSizeZ/2);    //its size
+                         
+  logicWorld = new G4LogicalVolume(solidWorld,         //its solid
+                                   defaultMaterial,    //vacuum
+                                   "World");           //its name
+                                   
+  physiWorld = new G4PVPlacement(0,                    //no rotation
+                                G4ThreeVector(),       //at (0,0,0)
+                                 "World",              //its name
+                                 logicWorld,           //its logical volume
+                                 NULL,                 //its mother  volume
+                                 false,                        //no boolean operation
+                                 0);                   //copy number
+  
+  //                               
+  // Calorimeter
+  //
+      solidCalor = new G4Box("Calorimeter",            //its name
+                      ModuleSizeX/2,ModuleSizeY/2,CalorSizeZ/2);//size
+                            
+      logicCalor = new G4LogicalVolume(solidCalor,     //its solid
+                                      defaultMaterial, //its material
+                                      "Calorimeter");  //its name
+                                      
+      physiCalor = new G4PVPlacement(0,                        //no rotation
+      G4ThreeVector(ModuleSizeX/2-AlSizeX-SpaSizeX,0.,0.),
+                                     "Calorimeter",    //its name
+                                     logicCalor,       //its logical volume
+                                     physiWorld,       //its mother  volume
+                                     false,            //no boolean operation
+                                     0);               //copy number
+  //                               
+  // Module
+  //
+      solidModule = new G4Box("Module",                //its name
+                      ModuleSizeX/2,ModuleSizeY/2,ModuleSizeZ/2);//size
+                            
+      logicModule = new G4LogicalVolume(solidModule,           //its solid
+                                      defaultMaterial,         //its material
+                                      "Module");               //its name
+
+
+  for(int iMod=0;iMod<NbOfModules;iMod++)
+    {
+     new G4PVPlacement(0,
+                      G4ThreeVector(0.,0.,
+                      -ModuleSizeZ/2*(NbOfModules-1)+iMod*ModuleSizeZ),
+                      "Module",
+                       logicModule,
+                      physiCalor,
+                      false,
+                      iMod);
+    }
+
+
+  //
+  // EMWLS
+  //
+      solidEMWLS = new G4Box("EMWLS",          //its name
+                      EMWLSSizeX/2,ModuleSizeY/2,EMWLSSizeZ/2);//size
+                            
+      logicEMWLS = new G4LogicalVolume(solidEMWLS,             //its solid
+                                      WLSMaterial,             //its material
+                                      "EMWLS");                //its name
+      //right and left side of module
+      for(int t=0; t<2; t++)
+       {
+         int b=2*t-1;
+         new G4PVPlacement(0,                  //no rotation
+          G4ThreeVector(-ModuleSizeX/2+EMWLSSizeX/2+AlSizeX+SpaSizeX,
+                       0.,b*(-ModuleSizeZ/2+EMWLSSizeZ/2)),    //
+                                     logicEMWLS,       //its logical volume 
+                                     "EMWLS",          //its name
+                                     logicModule,      //its mother  volume
+                                     false,            //no boolean operation
+                                     t);               //copy number
+        }
+                                                                   
+  //
+  // HADWLS
+  //
+      solidHADWLS = new G4Box("HADWLS",                //its name
+                      HADWLSSizeX/2,ModuleSizeY/2,HADWLSSizeZ/2);//size
+                            
+      logicHADWLS = new G4LogicalVolume(solidHADWLS,           //its solid
+                                      WLSMaterial,             //its material
+                                      "HADWLS");               //its name
+      //left and right side of module
+      for(int u=0; u<2; u++)
+       {
+         int c=2*u-1;
+         new G4PVPlacement(0,                  //no rotation
+          G4ThreeVector(ModuleSizeX/2-HADWLSSizeX/2,
+                       0.,c*(ModuleSizeZ/2-EMWLSSizeZ-HADWLSSizeZ/2)),
+                                     logicHADWLS,      //its logical volume
+                                     "HADWLS",         //its name
+                                     logicModule,      //its mother  volume
+                                     false,            //no boolean operation
+                                     u);               //copy number
+       }               
+                                                          
+  
+  //
+  // Al front plate
+  //
+      solidAl = new G4Box("AlFrontPlate",              //its name
+                      AlSizeX/2,ModuleSizeY/2,ModuleSizeZ/2);//size
+                            
+      logicAl = new G4LogicalVolume(solidAl,           //its solid
+                                   frontPlateMaterial,                 //its material
+                                   "AlFrontPlate");            //its name
+                                      
+      physiAl = new G4PVPlacement(0,                   //no rotation
+                G4ThreeVector(-ModuleSizeX/2+AlSizeX/2,0.,0.), 
+                                     logicAl,          //its logical volume
+                                     "AlFrontPlate",           //its name
+                                     logicModule,      //its mother  volume
+                                     false,            //no boolean operation
+                                     0);               //copy number
+                                       
+  //
+  // front space with vacuum 
+  //
+      solidSpace = new G4Box("VacFrontSpace",          //its name
+                      SpaSizeX/2,ModuleSizeY/2,ModuleSizeZ/2);//size
+                            
+      logicSpace = new G4LogicalVolume(solidSpace,             //its solid
+                                      defaultMaterial,            //its material
+                                   "VacFrontSpace");           //its name
+                                      
+      physiSpace = new G4PVPlacement(0,                        //no rotation
+                G4ThreeVector(-ModuleSizeX/2+AlSizeX+SpaSizeX/2,0.,0.),
+                                     logicSpace,               //its logical vo
+                                     "VacFrontSpace",          //its name
+                                     logicModule,      //its mother  volume
+                                     false,            //no boolean operation
+                                     0);               //copy number
+  
+
+
+
+
+  // *******************************                              
+  // ********    EMModule    *******
+  // *******************************
+
+      EMsolidModule = new G4Box("EMModule",            //its name
+                      EMModuleThickness/2,ModuleSizeY/2,EMModuleSizeZ/2);//size
+                            
+      EMlogicModule = new G4LogicalVolume(EMsolidModule,       //its solid
+                                      defaultMaterial,         //its material
+                                      "EMModule");             //its name
+                                      
+      EMphysiModule = new G4PVPlacement(0,                     //no rotation
+      G4ThreeVector(-ModuleSizeX/2+AlSizeX+SpaSizeX+EMModuleThickness/2,
+                   0.,0.), 
+                                     EMlogicModule,    //its logical volume
+                                     "EMModule",       //its name
+                                     logicModule,      //its mother  volume
+                                     false,            //no boolean operation
+                                     0);               //copy number
+  //                                 
+  // EMLayer
+  //
+      EMsolidLayer = new G4Box("EMLayer",                      //its name
+                       LayerThickness/2,ModuleSizeY/2,EMModuleSizeZ/2); //size
+                       
+      EMlogicLayer = new G4LogicalVolume(EMsolidLayer,         //its solid
+                                       defaultMaterial,                //its material
+                                       "EMLayer");             //its name
+      
+      G4VPVParameterisation * EMLayersParam = 
+                    new T36LayerParam(LayerThickness,NbOfEMLayers);
+
+      EMphysiLayer = new G4PVParameterised("EMLayer",     //its name
+                                  EMlogicLayer,          //its logical volume
+                                  EMphysiModule,         //its mother
+                                   kXAxis,               //axis of param
+                                   NbOfEMLayers,         //number of param
+                                  EMLayersParam);        //param
+
+  //                               
+  // Pb EMAbsorber
+  //
+      EMsolidAbsorber = new G4Box("EMAbsorber",                //its name
+                          AbsorberThickness/2,ModuleSizeY/2,EMModuleSizeZ/2); 
+                          
+      EMlogicAbsorber = new G4LogicalVolume(EMsolidAbsorber,    //its solid
+                                         defaultMaterial,     //its material
+                                         "EMAbsorber");        //its name
+                                         
+      EMphysiAbsorber = new G4PVPlacement(0,                //no rotation
+                   G4ThreeVector(-GapThickness/2,0.,0.),    //its position
+                                        "EMAbsorber",        //its name
+                                        EMlogicAbsorber,     //its logical volume
+                                        EMphysiLayer,        //its mother
+                                        false,               //no boulean operat
+                                        0);                  //copy number
+
+  //                               
+  // Pb EMAbsorber Medium Shield
+  //
+      EMsolidAbMedShield = new G4Box("EMAbMedShield",          //its name
+                          AbMedShieldThickness/2,ModuleSizeY/2,EMModuleSizeZ/2); 
+                          
+      EMlogicAbMedShield = new G4LogicalVolume(EMsolidAbMedShield,    //its solid
+                                         MedAbsMaterial,                    //its material
+                                         "EMAbMedShield");           //its name
+                                         
+      EMphysiAbMedShield = new G4PVPlacement(0,                     //no rotation
+                                       G4ThreeVector(0.,0.,0.),    //its position
+                                        "EMAbMedShield",        //its name
+                                        EMlogicAbMedShield,     //its logical volume
+                                        EMphysiAbsorber,        //its mother
+                                        false,               //no boulean operat
+                                        0);                  //copy number
+
+  //                               
+  // 2 Pb EMAbsorber External Shields
+  //
+      EMsolidAbExShield = new G4Box("EMAbExShield",            //its name
+                          AbExShieldThickness/2,ModuleSizeY/2,EMModuleSizeZ/2); 
+                          
+      EMlogicAbExShield = new G4LogicalVolume(EMsolidAbExShield,    //its solid
+                                         ExAbsMaterial,                   //its material
+                                         "EMAbExShield");          //its name
+                                                                     
+                                        
+      for(int s=0; s<2; s++)
+       {
+         EMphysiAbExShield = new G4PVPlacement(0,                   //no rotation
+        G4ThreeVector((2*s-1)*(AbsorberThickness/2-AbExShieldThickness/2),0.,0.),    //its position
+                                        "EMAbExShield",        //its name
+                                        EMlogicAbExShield,     //its logical volume
+                                        EMphysiAbsorber,        //its mother
+                                        false,               //no boulean operat
+                                        s);                  //copy number
+                                                                
+        }
+
+  
+  //                                 
+  // EMGap
+  //
+      EMsolidGap = new G4Box("EMGap",
+                          GapThickness/2,ModuleSizeY/2,EMModuleSizeZ/2);
+                          
+      EMlogicGap = new G4LogicalVolume(EMsolidGap,
+                                    GapMaterial,
+                                    "EMGap");
+                                    
+      EMphysiGap = new G4PVPlacement(0,                      //no rotation
+               G4ThreeVector(AbsorberThickness/2,0.,0.),     //its position
+                                   "EMGap",                  //its name
+                                   EMlogicGap,               //its logical volume
+                                   EMphysiLayer,             //its mother
+                                   false,                    //no boulean operat
+                                   0);                       //copy number
+   
+
+  //
+  // 3 EMScPlates
+  //
+      EMsolidSc = new G4Box("EMSc",
+                          ScThickness/2,ScSizeY/2,EMModuleSizeZ/2);
+                          
+      EMlogicSc = new G4LogicalVolume(EMsolidSc,
+                                    ScMaterial,
+                                    "EMSc");
+                                    
+
+      for(int i=0; i<+3; i++)
+       {
+         EMphysiSc = new G4PVPlacement(0,                   //no rotation
+           G4ThreeVector(0.,(i-1)*(ScSizeY+2*RodRad),0.),   //its position
+                                   "EMSc",                   //its name
+                                   EMlogicSc,                //its logical volume
+                                   EMphysiGap,               //its mother
+                                   false,                    //no boulean operat
+                                   i);
+       }  
+
+
+  //
+  // EMRod                                             
+  //
+      EMsolidRod = new G4Tubs("EMRod",
+                          0.,RodRad,EMModuleSizeZ/2,0*deg,360*deg);
+                          
+      EMlogicRod = new G4LogicalVolume(EMsolidRod,
+                                    RodMaterial,
+                                    "EMRod");
+                                    
+      for(int h=0; h<2; h++)
+       {
+         new G4PVPlacement(0,                                 //no rotation
+          G4ThreeVector(0.,(2*h-1)*(ScSizeY/2+RodRad),0.),     //its position
+                                   "EMRod",                    //its name
+                                   EMlogicRod,                 //its logical volume
+                                   EMphysiGap,                 //its mother
+                                   false,                      //no boulean operat
+                                   h);         
+       }
+
+  //
+  // EMSpacer
+  //
+      EMsolidSpacer = new G4Box("EMSpacer",
+                          SpacerThickness/2,SpacerSizeY/2,EMModuleSizeZ/2);
+                          
+      EMlogicSpacer = new G4LogicalVolume(EMsolidSpacer,
+                                    SpacerMaterial,
+                                    "EMSpacer");
+               
+      for(int k=0; k<2; k++)
+       {
+          int v=2*k-1;
+         new G4PVPlacement(0,                       //no rotation
+         G4ThreeVector(0.,v*(3*ScSizeY/2+2*RodRad+SpacerSizeY/2),0.),   //its position
+                                   "EMSpacer",                   //its name
+                                   EMlogicSpacer,                //its logical volume
+                                   EMphysiGap,                   //its mother
+                                   false,                        //no boulean operat
+                                   k);
+       }
+
+
+
+  // *******************************                              
+  // ********    HADModule    *******
+  // *******************************
+
+      HADsolidModule = new G4Box("HADModule",          //its name
+                      HADModuleThickness/2,ModuleSizeY/2,HADModuleSizeZ/2);//size
+                            
+      HADlogicModule = new G4LogicalVolume(HADsolidModule,     //its solid
+                                      defaultMaterial,         //its material
+                                      "HADModule");            //its name
+                                      
+      HADphysiModule = new G4PVPlacement(0,                    //no rotation
+      G4ThreeVector(ModuleSizeX/2-HADModuleThickness/2-
+                   AbsorberThickness,0.,0.),   //at (0,0,0)
+                                     HADlogicModule,   //its logical volume
+                                     "HADModule",      //its name
+                                     logicModule,      //its mother  volume
+                                     false,            //no boolean operation
+                                     0);               //copy number
+  
+  //                                 
+  // HADLayer
+  //
+      HADsolidLayer = new G4Box("HADLayer",                    //its name
+                       LayerThickness/2,ModuleSizeY/2,HADModuleSizeZ/2); //size
+                       
+      HADlogicLayer = new G4LogicalVolume(HADsolidLayer,               //its solid
+                                       defaultMaterial,                //its material
+                                       "HADLayer");            //its name
+                                      
+      G4VPVParameterisation * HADLayersParam = 
+                    new T36LayerParam(LayerThickness,NbOfHADLayers);
+
+      HADphysiLayer = new G4PVParameterised("HADLayer",     //its name
+                                  HADlogicLayer,         //its logical volume
+                                  HADphysiModule,        //its mother
+                                   kXAxis,               //axis of param
+                                   NbOfHADLayers,        //number of param
+                                  HADLayersParam);        //param
+  //                               
+  // Pb HADAbsorber
+  //
+      HADsolidAbsorber = new G4Box("HADAbsorber",              //its name
+                          AbsorberThickness/2,ModuleSizeY/2,HADModuleSizeZ/2); 
+                          
+      HADlogicAbsorber = new G4LogicalVolume(HADsolidAbsorber,    //its solid
+                                         defaultMaterial,     //its material
+                                         "HADAbsorber");        //its name
+                                         
+      HADphysiAbsorber = new G4PVPlacement(0,               //no rotation
+                   G4ThreeVector(-GapThickness/2,0.,0.),    //its position
+                                        "HADAbsorber",        //its name
+                                        HADlogicAbsorber,     //its logical volume
+                                        HADphysiLayer,        //its mother
+                                        false,               //no boulean operat
+                                        0);                  //copy number
+
+
+  //                               
+  // Pb HADAbsorber Medium Shield
+  //
+      HADsolidAbMedShield = new G4Box("HADAbMedShield",                //its name
+                          AbMedShieldThickness/2,ModuleSizeY/2,HADModuleSizeZ/2); 
+                          
+      HADlogicAbMedShield = new G4LogicalVolume(HADsolidAbMedShield,    //its solid
+                                         MedAbsMaterial,                      //its material
+                                         "HADAbMedShield");            //its name
+                                         
+      HADphysiAbMedShield = new G4PVPlacement(0,                    //no rotation
+                                       G4ThreeVector(0.,0.,0.),    //its position
+                                        "HADAbMedShield",        //its name
+                                        HADlogicAbMedShield,     //its logical volume
+                                        HADphysiAbsorber,        //its mother
+                                        false,               //no boulean operat
+                                        0);                  //copy number
+
+  //                               
+  // 2 Pb HADAbsorber External Shields
+  //
+      HADsolidAbExShield = new G4Box("HADAbExShield",          //its name
+                          AbExShieldThickness/2,ModuleSizeY/2,HADModuleSizeZ/2); 
+                          
+      HADlogicAbExShield = new G4LogicalVolume(HADsolidAbExShield,    //its solid
+                                         ExAbsMaterial,             //its material
+                                         "HADAbExShield");           //its name
+                                        
+      for(int hs=0; hs<2; hs++)
+       {
+         HADphysiAbExShield = new G4PVPlacement(0,                  //no rotation
+        G4ThreeVector((2*hs-1)*(AbsorberThickness/2-AbExShieldThickness/2),0.,0.),    //its position
+                                        "HADAbExShield",        //its name
+                                        HADlogicAbExShield,     //its logical volume
+                                        HADphysiAbsorber,        //its mother
+                                        false,               //no boulean operat
+                                        hs);                  //copy number
+                                                                
+        }
+
+  //                               
+  // last Pb HADAbsorber
+  //
+
+
+       lastHADsolidAbsorber = new G4Box("lastHADAbsorber",             //its name
+                           AbsorberThickness/2,ModuleSizeY/2,HADModuleSizeZ/2);
+
+       lastHADlogicAbsorber = new G4LogicalVolume(lastHADsolidAbsorber,    //its solid
+                           defaultMaterial,                                //its material
+                           "lastHADAbsorber");                             //its name
+
+       lastHADphysiAbsorber = new G4PVPlacement(0,                  //no rotation
+                   G4ThreeVector(ModuleSizeX/2-AbsorberThickness/2,0.,0.),    //its position
+                                        lastHADlogicAbsorber,     //its logical volume
+                                        "lastHADAbsorber",        //its name
+                                        logicModule,        //its mother
+                                        false,               //no boulean operat
+                                        0);                  //copy number
+              
+  //                               
+  // last Pb HADAbsorber Medium Shield
+  //
+      lastHADphysiAbMedShield = new G4PVPlacement(0,                //no rotation
+                                       G4ThreeVector(0.,0.,0.),    //its position
+                                        "lastHADAbMedShield",        //its name
+                                        HADlogicAbMedShield,     //its logical volume
+                                        lastHADphysiAbsorber,        //its mother
+                                        false,               //no boulean operat
+                                        0);                  //copy number
+
+  //                               
+  // 2 last Pb HADAbsorber External Shields
+  //
+      for(int ls=0; ls<2; ls++)
+       {
+         lastHADphysiAbMedShield = new G4PVPlacement(0,                     //no rotation
+        G4ThreeVector((2*ls-1)*(AbsorberThickness/2-AbExShieldThickness/2),0.,0.),    //its position
+                                        "lastHADAbExShield",        //its name
+                                        HADlogicAbExShield,     //its logical volume
+                                        lastHADphysiAbsorber,        //its mother
+                                        false,               //no boulean operat
+                                        s);                  //copy number
+                                                                
+        }                                              
+  
+
+  //                                 
+  // HADGap
+  //
+      HADsolidGap = new G4Box("HADGap",
+                          GapThickness/2,ModuleSizeY/2,HADModuleSizeZ/2);
+                          
+      HADlogicGap = new G4LogicalVolume(HADsolidGap,
+                                    GapMaterial,
+                                    "HADGap");
+                                    
+      HADphysiGap = new G4PVPlacement(0,                      //no rotation
+               G4ThreeVector(AbsorberThickness/2,0.,0.),     //its position
+                                   "HADGap",                  //its name
+                                   HADlogicGap,               //its logical volume
+                                   HADphysiLayer,             //its mother
+                                   false,                    //no boulean operat
+                                   0);                       //copy number
+   
+
+  //
+  // 3 HADScPlates
+  //
+      HADsolidSc = new G4Box("HADSc",
+                          ScThickness/2,ScSizeY/2,HADModuleSizeZ/2);
+                          
+      HADlogicSc = new G4LogicalVolume(HADsolidSc,
+                                    ScMaterial,
+                                    "HADSc");
+                                    
+
+      for(int m=0; m<+3; m++)
+       {
+         HADphysiSc = new G4PVPlacement(0,                  //no rotation
+           G4ThreeVector(0.,(m-1)*(ScSizeY+2*RodRad),0.),   //its position
+                                   "HADSc",                   //its name
+                                   HADlogicSc,                //its logical volume
+                                   HADphysiGap,               //its mother
+                                   false,                    //no boulean operat
+                                   m);
+       }  
+
+
+  //
+  // HADRod                                            
+  //
+      HADsolidRod = new G4Tubs("HADRod",
+                          0.,RodRad,HADModuleSizeZ/2,0*deg,360*deg);
+                          
+      HADlogicRod = new G4LogicalVolume(HADsolidRod,
+                                    RodMaterial,
+                                    "HADRod");
+                                    
+      for(int q=0; q<2; q++)
+       {
+         new G4PVPlacement(0,                                 //no rotation
+          G4ThreeVector(0.,(2*q-1)*(ScSizeY/2+RodRad),0.),     //its position
+                                   "HADRod",                    //its name
+                                   HADlogicRod,                 //its logical volume
+                                   HADphysiGap,                 //its mother
+                                   false,                      //no boulean operat
+                                   q);         
+       }
+
+  //
+  // HADSpacer
+  //
+      HADsolidSpacer = new G4Box("HADSpacer",
+                          SpacerThickness/2,SpacerSizeY/2,HADModuleSizeZ/2);
+                          
+      HADlogicSpacer = new G4LogicalVolume(HADsolidSpacer,
+                                    SpacerMaterial,
+                                    "HADSpacer");
+               
+      for(int z=0; z<2; z++)
+       {
+          int y=2*z-1;
+         new G4PVPlacement(0,                       //no rotation
+         G4ThreeVector(0.,y*(3*ScSizeY/2+2*RodRad+SpacerSizeY/2),0.),   //its position
+                                   "HADSpacer",                   //its name
+                                   HADlogicSpacer,                //its logical volume
+                                   HADphysiGap,                   //its mother
+                                   false,                        //no boulean operat
+                                   z);
+       }
+      /*
+  //
+  // Sensitive EM and HAD Detectors: Absorber and Gap
+  //
+  G4SDManager* SDman = G4SDManager::GetSDMpointer();
+  SDman->SetVerboseLevel(1);
+
+  //for N02: N.B. non basta dichiarare la "madre" volume sensibile, bisogna 
+  // dichiarare anche ogni figlio!!!
+
+  if(!EMcalorimeterSD)
+  {
+    G4String EMcaloSDname = "/mydet/EMcalorimeter";
+    EMcalorimeterSD = new T36EMCalorimeterSD(EMcaloSDname,this);
+    SDman->AddNewDetector( EMcalorimeterSD );
+  }
+
+  if (EMlogicAbsorber)
+      EMlogicAbsorber->SetSensitiveDetector(EMcalorimeterSD);
+  if (EMlogicAbExShield)
+      EMlogicAbExShield->SetSensitiveDetector(EMcalorimeterSD);
+  if (EMlogicAbMedShield)
+      EMlogicAbMedShield->SetSensitiveDetector(EMcalorimeterSD);
+
+  if (EMlogicGap)
+      EMlogicGap->SetSensitiveDetector(EMcalorimeterSD);
+  if (EMlogicSc)
+      EMlogicSc->SetSensitiveDetector(EMcalorimeterSD);
+  if (EMlogicRod)
+       EMlogicRod->SetSensitiveDetector(EMcalorimeterSD);
+  if (EMlogicSpacer)
+       EMlogicSpacer->SetSensitiveDetector(EMcalorimeterSD);
+
+  if(!HADcalorimeterSD)
+  {
+    G4String HADcaloSDname = "/mydet/HADcalorimeter";
+    HADcalorimeterSD = new T36HADCalorimeterSD(HADcaloSDname,this);
+    SDman->AddNewDetector( HADcalorimeterSD );
+  }
+
+  if (HADlogicAbsorber)
+      HADlogicAbsorber->SetSensitiveDetector(HADcalorimeterSD);
+  if (HADlogicAbExShield)
+      HADlogicAbExShield->SetSensitiveDetector(HADcalorimeterSD);
+  if (HADlogicAbMedShield)
+      HADlogicAbMedShield->SetSensitiveDetector(HADcalorimeterSD);
+
+  if (HADlogicGap)
+      HADlogicGap->SetSensitiveDetector(HADcalorimeterSD);
+  if (HADlogicSc)
+      HADlogicSc->SetSensitiveDetector(HADcalorimeterSD);
+  if (HADlogicRod)
+       HADlogicRod->SetSensitiveDetector(HADcalorimeterSD);
+  if (HADlogicSpacer)
+       HADlogicSpacer->SetSensitiveDetector(HADcalorimeterSD);
+      
+  if (lastHADlogicAbsorber)
+      lastHADlogicAbsorber->SetSensitiveDetector(HADcalorimeterSD);
+      */
+
+  /*
+
+  //                                        
+  // Visualization attributes
+  //
+                                                                
+  logicWorld->SetVisAttributes (G4VisAttributes::Invisible);
+  G4VisAttributes* simpleBoxVisAtt= new G4VisAttributes(G4Colour(1.0,1.0,1.0));
+  simpleBoxVisAtt->SetVisibility(true);
+  logicCalor->SetVisAttributes(simpleBoxVisAtt);
+  
+  */
+  //
+  //always return the physical World
+  //
+  return physiWorld;
+}
+
+void MyDetectorConstruction::PrintCalorParameters()
+{
+  G4cout << "\n The calorimeter is made of " << NbOfEMLayers << "EM layers and "
+       << NbOfHADLayers << "HAD layers of: [ "
+       << AbsorberThickness/mm << "mm of " << MedAbsMaterial->GetName()
+       << " + "
+       << GapThickness/mm << "mm of " << GapMaterial->GetName() << " ] "
+       << endl;
+}
+
+void MyDetectorConstruction::SetMagField(G4double fieldValue)
+{
+  //apply a global uniform magnetic field along Z axis
+  G4FieldManager* fieldMgr
+   = G4TransportationManager::GetTransportationManager()->GetFieldManager();
+
+  if(magField) delete magField;                //delete the existing magn field
+  
+  if(fieldValue!=0.)                   // create a new one if non nul
+  { magField = new G4UniformMagField(G4ThreeVector(0.,0.,fieldValue));        
+    fieldMgr->SetDetectorField(magField);
+    fieldMgr->CreateChordFinder(magField);
+  } else {
+    magField = NULL;
+    fieldMgr->SetDetectorField(magField);
+  }
+}
+
+  
+
+
diff --git a/Flugg/examples/fluggEx/T36flugg/src/T36LayerParam.cc b/Flugg/examples/fluggEx/T36flugg/src/T36LayerParam.cc
new file mode 100644 (file)
index 0000000..15360ac
--- /dev/null
@@ -0,0 +1,33 @@
+// $Id$
+// Flugg tag $Name$
+
+//
+// T36LayerParam.cc, 3/III/99, Sara Vanini
+// parametrisation for t36 layers
+//
+
+#include "T36LayerParam.hh"
+
+#include "G4VPhysicalVolume.hh"
+#include "G4ThreeVector.hh"
+#include "G4Box.hh"
+
+T36LayerParam::T36LayerParam(G4double LayerThickness, G4double NbOfLayers)
+{
+  fLayerThickness = LayerThickness; 
+  fNbOfLayers = NbOfLayers;
+}
+
+T36LayerParam::~T36LayerParam()
+{}
+
+void T36LayerParam::ComputeTransformation
+(const G4int copyNo,G4VPhysicalVolume *physVol) const
+{
+  static int counter = 0;
+  counter +=1;
+  G4double Xposition= - fLayerThickness/2*(fNbOfLayers-1) + copyNo*fLayerThickness;
+  G4ThreeVector origin(Xposition,0,0);
+
+  physVol->SetTranslation(origin);
+}
diff --git a/Flugg/examples/fluggEx/T36flugg/src/T36ModuleParam.cc b/Flugg/examples/fluggEx/T36flugg/src/T36ModuleParam.cc
new file mode 100644 (file)
index 0000000..0ec9e34
--- /dev/null
@@ -0,0 +1,32 @@
+// $Id$
+// Flugg tag $Name$
+
+//
+// T36ModuleParam.cc, 3/III/99, Sara Vanini
+// parametrisation for t36 modules
+//
+
+#include "T36ModuleParam.hh"
+
+#include "G4VPhysicalVolume.hh"
+#include "G4ThreeVector.hh"
+#include "G4Box.hh"
+#include "G4RotationMatrix.hh"
+
+
+T36ModuleParam::T36ModuleParam(G4double ModuleSizeZ, G4double NbOfModules)
+{
+  fModuleSizeZ = ModuleSizeZ; 
+  fNbOfModules = NbOfModules;
+}
+
+T36ModuleParam::~T36ModuleParam()
+{}
+
+void T36ModuleParam::ComputeTransformation
+(const G4int copyNo,G4VPhysicalVolume *physVol) const
+{
+  G4double      Zposition= - fModuleSizeZ/2*(fNbOfModules-1) + copyNo*fModuleSizeZ;
+  G4ThreeVector origin(0,0,Zposition);
+  physVol->SetTranslation(origin);
+}
diff --git a/Flugg/examples/fluggEx/emptyEx/GNUmakefile b/Flugg/examples/fluggEx/emptyEx/GNUmakefile
new file mode 100644 (file)
index 0000000..1f34f26
--- /dev/null
@@ -0,0 +1,16 @@
+# --------------------------------------------------------------
+# GNUmakefile for examples module.  Sara Vanini,  13/III/00
+# --------------------------------------------------------------
+
+name := mainFLUGG
+G4TARGET := $(name)
+G4EXLIB := true
+
+ifndef FLUGGINSTALL
+  FLUGGINSTALL = ../../..
+endif
+
+.PHONY: all
+all: lib bin
+
+include $(FLUGGINSTALL)/config/binmake.gmk
diff --git a/Flugg/examples/fluggEx/emptyEx/mainFLUGG.cc b/Flugg/examples/fluggEx/emptyEx/mainFLUGG.cc
new file mode 100644 (file)
index 0000000..fe715b8
--- /dev/null
@@ -0,0 +1,32 @@
+// Define G4GEOMETRY_DEBUG for debugging information on cout
+
+#include "FGeometryInit.hh"
+#include "MyDetectorConstruction.hh"
+
+#define flukam flukam_
+
+extern "C" void flukam(const G4int & GeoFlag);
+
+int main() {
+
+  FGeometryInit* theFGeometryInit = FGeometryInit::GetInstance();
+  
+  theFGeometryInit
+    ->setDetConstruction(new MyDetectorConstruction());
+
+//flag for geometry:
+// 1 for GEANT4
+// 0 for FLUKA
+// 2 for Rubia
+    const G4int flag = 1;
+
+//call fortran
+    flukam(flag);
+
+//end
+  return 0;
+}
+
+
+
+
diff --git a/Flugg/examples/fluggEx/test/GNUmakefile b/Flugg/examples/fluggEx/test/GNUmakefile
new file mode 100644 (file)
index 0000000..def9131
--- /dev/null
@@ -0,0 +1,20 @@
+# $Id$
+# Flugg tag $Name$
+
+# Id: GNUmakefile,v 2.1 1998/07/02 15:26:52 gunter Exp 
+# --------------------------------------------------------------
+# GNUmakefile for examples module.  Gabriele Cosmo, 06/04/98
+# --------------------------------------------------------------
+
+name := test
+G4TARGET := $(name)
+G4EXLIB := true
+
+ifndef FLUGGINSTALL
+  FLUGGINSTALL = ../../..
+endif
+
+.PHONY: all
+all: lib bin
+
+include $(FLUGGINSTALL)/config/binmake.gmk
diff --git a/Flugg/examples/fluggEx/test/include/MyDetectorConstruction.hh b/Flugg/examples/fluggEx/test/include/MyDetectorConstruction.hh
new file mode 100644 (file)
index 0000000..fcff5fa
--- /dev/null
@@ -0,0 +1,88 @@
+// $Id$
+// Flugg tag $Name$
+
+#ifndef MyDetectorConstruction_h
+#define MyDetectorConstruction_h 1
+
+#include "G4VUserDetectorConstruction.hh"
+#include "G4RotationMatrix.hh"
+#include "globals.hh"
+
+class G4VPhysicalVolume;
+class G4Material;
+
+enum Shape {
+
+  // CSG solids 
+  kBox, kTubs,kCons, kTorus, kTrd, kTrap, kPara, kSphere,
+       
+  // specific solids
+  kPolyhedra, kPolycone, kEllipticalTube, kHype 
+};
+
+
+class MyDetectorConstruction : public G4VUserDetectorConstruction
+{
+  public:
+    MyDetectorConstruction(Shape shape, G4int number,G4bool rotate);
+    virtual ~MyDetectorConstruction();
+
+    // methods
+    virtual G4VPhysicalVolume* Construct();
+
+  private:
+    MyDetectorConstruction() {}
+  
+    // methods
+    void CreateAir();
+    void CreateWorld();
+    
+    // CSG solids
+    void CreateBox();
+    void CreateTubs();
+    void CreateCons();
+    void CreateTorus();
+    void CreateTrd();
+    void CreateTrap();
+    void CreatePara();
+    void CreateSphere();
+  
+    // specific solids
+    void CreatePolyhedra();
+    void CreatePolycone();
+    void CreateEllipticalTube();
+    void CreateHype();
+
+    // data members
+    G4Material*        fAir;
+    G4VPhysicalVolume* fWorld;
+    G4RotationMatrix*  fRotation;
+
+    Shape   fShape;
+    G4int   fNumber;
+    G4bool  fRotate;
+
+    const G4double fWorldX;
+    const G4double fWorldY;
+    const G4double fWorldZ;
+
+    const G4double fX;
+    const G4double fY;
+    const G4double fZ;
+
+    const G4double fR;
+    const G4double fDR;
+    const G4double fSphi;
+    const G4double fDphi;
+    const G4double fFullPhi;
+
+    const G4double fAlpha;
+    const G4double fTheta;
+    const G4double fPhi;
+
+    const G4int fNofZPlanes;
+    const G4int fNofSides;
+};
+
+#endif
+
diff --git a/Flugg/examples/fluggEx/test/src/MyDetectorConstruction.cc b/Flugg/examples/fluggEx/test/src/MyDetectorConstruction.cc
new file mode 100644 (file)
index 0000000..f859f81
--- /dev/null
@@ -0,0 +1,693 @@
+// $Id$
+// Flugg tag $Name$
+
+#include "MyDetectorConstruction.hh"
+
+#include "G4Material.hh"
+#include "G4MaterialTable.hh"
+#include "G4Element.hh"
+#include "G4ElementTable.hh"
+#include "G4Box.hh"
+#include "G4Tubs.hh"
+#include "G4Cons.hh"
+#include "G4Torus.hh"
+#include "G4Trd.hh"
+#include "G4Trap.hh"
+#include "G4Para.hh"
+#include "G4Sphere.hh"
+#include "G4Polyhedra.hh"
+#include "G4Polycone.hh"
+#include "G4EllipticalTube.hh"
+#include "G4Hype.hh"
+#include "G4LogicalVolume.hh"
+#include "G4LogicalVolumeStore.hh"
+#include "G4RotationMatrix.hh"
+#include "G4ThreeVector.hh"
+#include "G4Transform3D.hh"
+#include "G4PVPlacement.hh"
+
+#include "globals.hh"
+
+//_____________________________________________________________________________
+MyDetectorConstruction::MyDetectorConstruction(Shape shape, 
+                                               G4int number,
+                                              G4bool rotate)
+  : fAir(0),
+    fWorld(0),
+
+    fShape(shape),
+    fNumber(number),
+    fRotate(rotate),
+    
+    fWorldX(1.*m),
+    fWorldY(1.*m),
+    fWorldZ(1.*m),
+
+    fX(5.*cm),
+    fY(10.*cm),
+    fZ(15.*cm),
+
+    fR (5.*cm),
+    fDR(5.*cm),
+    fSphi (0.*deg),
+    fDphi (315.*deg),
+    fFullPhi(360.*deg),
+  
+    fAlpha(45.*deg),
+    fTheta(30.*deg),
+    fPhi  (15.*deg),
+
+    fNofZPlanes(4),
+    fNofSides(8)
+{
+  fRotation = new G4RotationMatrix();
+  fRotation->rotateY(5.*deg);
+}
+
+//_____________________________________________________________________________
+MyDetectorConstruction::~MyDetectorConstruction()
+{;}
+
+//
+// private methods
+//
+
+//_____________________________________________________________________________
+void MyDetectorConstruction::CreateAir()
+{
+  G4double a, iz, z, density;
+  G4String name, symbol;
+  G4double temperature, pressure;
+  G4int nel;
+
+  //Air
+  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="Oxigen", symbol="O", iz=8., a);
+  density = 1.29*mg/cm3;
+  fAir = new G4Material(name="Air", density, nel=2);
+  fAir->AddElement(elN, .7);
+  fAir->AddElement(elO, .3);
+}
+
+
+//_____________________________________________________________________________
+void MyDetectorConstruction::CreateWorld()
+{
+  
+  G4Box* box 
+    = new G4Box("world_s", fWorldX, fWorldY, fWorldZ);
+    
+  G4LogicalVolume* log 
+    = new G4LogicalVolume(box, fAir, "world_l", 0, 0, 0);
+    
+  fWorld
+    = new G4PVPlacement(0, G4ThreeVector(), "world_p", log, 0, false, 0);
+
+}
+
+//_____________________________________________________________________________
+void MyDetectorConstruction::CreateBox()
+{
+  
+  // big box
+
+  G4Box* solid_env 
+    = new G4Box("box_env_s", fX, fY, fZ*fNumber);
+    
+  G4LogicalVolume* log_env 
+    = new G4LogicalVolume(solid_env, fAir, "box_env_l", 0, 0, 0);
+    
+  // rotation        
+  G4RotationMatrix* rotation = 0;
+  if (fRotate) rotation = fRotation;
+
+  new G4PVPlacement(rotation, G4ThreeVector(0.,0.,0.),
+                    "box_env_p", log_env, fWorld, false, 0);
+
+  // small daughter boxes
+
+  if (fNumber>1) {
+     G4Box* box 
+       = new G4Box("box_s", fX, fY, fZ);
+    
+     G4LogicalVolume* log 
+       = new G4LogicalVolume(box, fAir, "box_l", 0, 0, 0);
+    
+    for (G4int i=0; i<fNumber; i++) {
+  
+      // position
+      G4double zpos = -fNumber*fZ + fZ + i*2*fZ;
+      G4ThreeVector position(0., 0., zpos);
+    
+      new G4PVPlacement(0, position, log, "box_p", log_env, false, 0);
+    }  
+  }
+}
+
+//_____________________________________________________________________________
+void MyDetectorConstruction::CreateTubs()
+{
+  
+  // big tub segment
+
+  G4Tubs* solid_env 
+    = new G4Tubs("tubs_env_s", fR, fR+fDR*fNumber, fZ, fSphi, fDphi);
+    
+  G4LogicalVolume* log_env 
+    = new G4LogicalVolume(solid_env, fAir, "tubs_env_l", 0, 0, 0);
+    
+  // rotation        
+  G4RotationMatrix* rotation = 0;
+  if (fRotate) rotation = fRotation;
+
+  new G4PVPlacement(rotation, G4ThreeVector(0.,0.,0.),
+                    "tubs_env_p", log_env, fWorld, false, 0);
+
+  // small daughter tub segments
+
+  if (fNumber>1) {
+    for (G4int i=0; i<fNumber; i++) {
+      G4Tubs* solid 
+        = new G4Tubs("tubs_s", fR+i*fDR, fR+(i+1)*fDR, fZ, fSphi, fDphi);
+    
+      G4LogicalVolume* log 
+        = new G4LogicalVolume(solid, fAir, "tubs_l", 0, 0, 0);
+    
+      // position
+      G4ThreeVector position(0., 0., 0.);
+    
+      new G4PVPlacement(0, position, log, "tubs_p", log_env, false, 0);
+    }  
+  }
+}
+
+//_____________________________________________________________________________
+void MyDetectorConstruction::CreateTorus()
+{
+  
+  // big tourus segment
+
+  G4Torus* solid_env 
+    = new G4Torus("torus_env_s", 
+                  fR, fR+fDR, fR+5*fDR, fSphi, fDphi);
+    
+  G4LogicalVolume* log_env 
+    = new G4LogicalVolume(solid_env, fAir, "torus_env_l", 0, 0, 0);
+    
+  // rotation        
+  G4RotationMatrix* rotation = 0;
+  if (fRotate) rotation = fRotation;
+
+  new G4PVPlacement(rotation, G4ThreeVector(0.,0.,0.),
+                    "torus_env_p", log_env, fWorld, false, 0);
+
+  // small daughter torus segments
+  if (fNumber>1) {
+    for (G4int i=0; i<fNumber; i++) {
+      G4Torus* solid 
+        = new G4Torus("torus_s",
+                     fR, fR+fDR, fR+5*fDR, 
+                     fSphi+i*(fDphi/fNumber), fDphi/fNumber);
+    
+      G4LogicalVolume* log 
+        = new G4LogicalVolume(solid, fAir, "torus_l", 0, 0, 0);
+    
+      // position
+      G4ThreeVector position(0., 0., 0.);
+    
+      new G4PVPlacement(0, position, log, "torus_p", log_env, false, 0);
+    }  
+  }
+}
+
+//_____________________________________________________________________________
+void MyDetectorConstruction::CreateCons()
+{
+  
+  // big cons segment
+
+  G4Cons* solid_env 
+    = new G4Cons("cons_env_s", 
+                 fR, fR+fDR*fNumber, fR+fDR, fR+fDR+fDR*fNumber, 
+                fZ, fSphi, fDphi);
+    
+  G4LogicalVolume* log_env 
+    = new G4LogicalVolume(solid_env, fAir, "cons_env_l", 0, 0, 0);
+    
+  // rotation        
+  G4RotationMatrix* rotation = 0;
+  if (fRotate) rotation = fRotation;
+
+  new G4PVPlacement(rotation, G4ThreeVector(0.,0.,0.),
+                    "cons_env_p", log_env, fWorld, false, 0);
+
+  // small daughter cons segments
+
+  if (fNumber>1) {
+    for (G4int i=0; i<fNumber; i++) {
+      G4Cons* solid 
+        = new G4Cons("cons_s", 
+                    fR+i*fDR, fR+(i+1)*fDR, fR+fDR+i*fDR, fR+fDR+(i+1)*fDR,
+                    fZ, fSphi, fDphi);
+    
+      G4LogicalVolume* log 
+        = new G4LogicalVolume(solid, fAir, "cons_l", 0, 0, 0);
+    
+      // position
+      G4ThreeVector position(0., 0., 0.);
+    
+      new G4PVPlacement(0, position, log, "cons_p", log_env, false, 0);
+    }  
+  }
+}
+
+//_____________________________________________________________________________
+void MyDetectorConstruction::CreateTrd()
+{
+  
+  // big trd segment
+
+  G4Trd* solid_env 
+    = new G4Trd("trd_env_s", 2*fX, 4*fX, 2*fY, 4*fY, fZ*fNumber);
+    
+  G4LogicalVolume* log_env 
+    = new G4LogicalVolume(solid_env, fAir, "trd_env_l", 0, 0, 0);
+    
+  // rotation        
+  G4RotationMatrix* rotation = 0;
+  if (fRotate) rotation = fRotation;
+
+  new G4PVPlacement(rotation, G4ThreeVector(0.,0.,0.),
+                    "trd_env_p", log_env, fWorld, false, 0);
+
+  // small daughter trd segments
+
+  G4Trd* solid 
+    = new G4Trd("trd_s", fX, 2*fX, fY, 2*fY, fZ);
+
+  G4LogicalVolume* log 
+    = new G4LogicalVolume(solid, fAir, "trd_l", 0, 0, 0);
+
+  if (fNumber>1) {
+    for (G4int i=0; i<fNumber; i++) {
+      // position
+      G4double zpos = -fNumber*fZ + fZ + i*2*fZ;
+      G4ThreeVector position(0., 0., zpos);
+    
+      new G4PVPlacement(0, position, log, "trd_p", log_env, false, 0);
+    }  
+  }
+}
+
+//_____________________________________________________________________________
+void MyDetectorConstruction::CreateTrap()
+{
+  // big trap
+
+  G4double theta = fTheta;
+  G4double phi = fPhi;
+  if (fNumber>1) {
+    theta = 0.;
+    phi = 0.;
+  }
+
+  G4Trap* solid_env 
+    = new G4Trap("trap_env_s", 
+                 fZ*fNumber, theta, phi,
+                fY, fX, 2*fX, 5.0*deg, fY, fX, 2*fX, 5.0*deg);
+    
+  G4LogicalVolume* log_env 
+    = new G4LogicalVolume(solid_env, fAir, "trap_env_l", 0, 0, 0);
+    
+  // rotation        
+  G4RotationMatrix* rotation = 0;
+  if (fRotate) rotation = fRotation;
+
+  new G4PVPlacement(rotation, G4ThreeVector(0.,0.,0.),
+                    "trap_env_p", log_env, fWorld, false, 0);
+
+  // small daughter trap segments
+  
+  G4Trap* solid 
+    = new G4Trap("trap_env_s", 
+                 fZ,  theta, phi,
+                fY, fX, 2*fX, 5.0*deg, fY, fX, 2*fX, 5.0*deg);
+
+  G4LogicalVolume* log 
+    = new G4LogicalVolume(solid, fAir, "trap_l", 0, 0, 0);
+
+  if (fNumber>1) {
+    for (G4int i=0; i<fNumber; i++) {
+      // position
+      G4double zpos = -fNumber*fZ + fZ + i*2*fZ;
+      G4ThreeVector position(0., 0., zpos);
+    
+      new G4PVPlacement(0, position, log, "trap_p", log_env, false, 0);
+    }  
+  }
+}
+
+//_____________________________________________________________________________
+void MyDetectorConstruction::CreatePara()
+{
+  
+  G4double theta = fTheta;
+  G4double phi = fPhi;
+  if (fNumber>1) {
+    theta = 0.;
+    phi = 0.;
+  }
+
+  // big para segment
+
+  G4Para* solid_env 
+    = new G4Para("para_env_s", fX, fY, fZ*fNumber, fAlpha, theta, phi);
+    
+  G4LogicalVolume* log_env 
+    = new G4LogicalVolume(solid_env, fAir, "para_env_l", 0, 0, 0);
+    
+  // rotation        
+  G4RotationMatrix* rotation = 0;
+  if (fRotate) rotation = fRotation;
+
+  new G4PVPlacement(rotation, G4ThreeVector(0.,0.,0.),
+                    "para_env_p", log_env, fWorld, false, 0);
+
+  // small daughter para segments
+
+  G4Para* solid 
+    = new G4Para("para_s", fX, fY, fZ, fAlpha, theta, phi);
+
+  G4LogicalVolume* log 
+    = new G4LogicalVolume(solid, fAir, "para_l", 0, 0, 0);
+
+  if (fNumber>1) {
+    for (G4int i=0; i<fNumber; i++) {
+      // position
+      G4double zpos = -fNumber*fZ + fZ + i*2*fZ;
+      G4ThreeVector position(0., 0., zpos);
+    
+      new G4PVPlacement(0, position, log, "para_p", log_env, false, 0);
+    }  
+  }  
+}
+
+//_____________________________________________________________________________
+void MyDetectorConstruction::CreateSphere()
+{
+  
+  // big sphere segment
+
+  G4Sphere* solid_env 
+    = new G4Sphere("sphere_env_s", 
+                 fR, fR+fDR*fNumber, fSphi, fDphi, fSphi, fDphi/2.); 
+    
+  G4LogicalVolume* log_env 
+    = new G4LogicalVolume(solid_env, fAir, "sphere_env_l", 0, 0, 0);
+    
+  // rotation        
+  G4RotationMatrix* rotation = 0;
+  if (fRotate) rotation = fRotation;
+
+  new G4PVPlacement(rotation, G4ThreeVector(0.,0.,0.),
+                    "sphere_env_p", log_env, fWorld, false, 0);
+
+  // small daughter sphere segments
+  if (fNumber>1) {
+    for (G4int i=0; i<fNumber; i++) {
+      G4Sphere* solid 
+        = new G4Sphere("sphere_s", 
+                    fR+i*fDR, fR+(i+1)*fDR, fSphi, fDphi, fSphi, fDphi/2.);
+    
+      G4LogicalVolume* log 
+        = new G4LogicalVolume(solid, fAir, "sphere_l", 0, 0, 0);
+    
+      // position
+      G4ThreeVector position(0., 0., 0.);
+    
+      new G4PVPlacement(0, position, log, "sphere_p", log_env, false, 0);
+    }  
+  }  
+}
+
+//_____________________________________________________________________________
+void MyDetectorConstruction::CreatePolyhedra()
+{
+  // big polyhedra
+
+  G4double* z_env    = new G4double[fNofZPlanes];
+  G4double* rmin_env = new G4double[fNofZPlanes];
+  G4double* rmax_env = new G4double[fNofZPlanes];
+  
+  for (G4int i=0; i< fNofZPlanes; i++) {
+    z_env[i]    = -fNofZPlanes*fZ + fZ + i*2*fZ;
+    rmin_env[i] = fR + (i+1) * fDR + (2*(i%2)-1) * (i+1) * fDR/2.;
+    rmax_env[i] = fR + (i+2) * fDR + (2*(i%2)-1) * (i+1) * fDR/2.;
+  }  
+
+  G4Polyhedra* solid_env 
+    = new G4Polyhedra("polyhedra_env_s", fSphi, fFullPhi,
+                      fNofSides, fNofZPlanes, z_env, rmin_env, rmax_env);
+    
+  G4LogicalVolume* log_env 
+    = new G4LogicalVolume(solid_env, fAir, "polyhedra_env_l", 0, 0, 0);
+
+  // rotation        
+  G4RotationMatrix* rotation = 0;
+  if (fRotate) rotation = fRotation;
+
+  new G4PVPlacement(rotation, G4ThreeVector(0.,0.,0.),
+                    "polyhedra_env_p", log_env, fWorld, false, 0);
+
+  // small daughter polyhedra segments
+
+  if (fNumber>1) {
+    for (G4int j=0; j<fNumber; j++) {
+    
+      G4double* z    = new G4double[fNofZPlanes];
+      G4double* rmin = new G4double[fNofZPlanes];
+      G4double* rmax = new G4double[fNofZPlanes];
+  
+      for (G4int k=0; k< fNofZPlanes; k++) {
+       G4double dr = (rmax_env[k] - rmin_env[k])/fNumber;
+        z[k]    = z_env[k];
+        rmin[k] = rmin_env[k] + j*dr;
+        rmax[k] = rmin_env[k] + (j+1)*dr;
+      }  
+    
+      G4Polyhedra* solid 
+        = new G4Polyhedra("polyhedra_s", fSphi, fFullPhi,
+                          fNofSides, fNofZPlanes, z, rmin, rmax);
+    
+      G4LogicalVolume* log 
+        = new G4LogicalVolume(solid, fAir, "polyhedra_l", 0, 0, 0);
+    
+      // position
+      G4ThreeVector position(0., 0., 0.);
+      new G4PVPlacement(0, position, log, "polyhedra_p", log_env, false, 0);
+      
+      delete [] z;
+      delete [] rmin;
+      delete [] rmax;
+    }  
+  }
+
+  delete [] z_env;
+  delete [] rmin_env;
+  delete [] rmax_env;
+}
+
+//_____________________________________________________________________________
+void MyDetectorConstruction::CreatePolycone()
+{
+  // big polycone
+
+  G4double* z_env    = new G4double[fNofZPlanes];
+  G4double* rmin_env = new G4double[fNofZPlanes];
+  G4double* rmax_env = new G4double[fNofZPlanes];
+  
+  for (G4int i=0; i< fNofZPlanes; i++) {
+    z_env[i]    = -fNofZPlanes*fZ + fZ + i*2*fZ;
+    rmin_env[i] = fR + (i+1) * fDR + (2*(i%2)-1) * (i+1) * fDR/2.;
+    rmax_env[i] = fR + (i+2) * fDR + (2*(i%2)-1) * (i+1) * fDR/2.;
+  }  
+
+  G4Polycone* solid_env 
+    = new G4Polycone("polycone_env_s", fSphi, fFullPhi,
+                      fNofZPlanes, z_env, rmin_env, rmax_env);
+    
+  G4LogicalVolume* log_env 
+    = new G4LogicalVolume(solid_env, fAir, "polycone_env_l", 0, 0, 0);
+
+  // rotation        
+  G4RotationMatrix* rotation = 0;
+  if (fRotate) rotation = fRotation;
+
+  new G4PVPlacement(rotation, G4ThreeVector(0.,0.,0.),
+                    "polycone_env_p", log_env, fWorld, false, 0);
+
+  // small daughter polycone segments
+
+  if (fNumber>1) {
+    for (G4int j=0; j<fNumber; j++) {
+    
+      G4double* z    = new G4double[fNofZPlanes];
+      G4double* rmin = new G4double[fNofZPlanes];
+      G4double* rmax = new G4double[fNofZPlanes];
+  
+      for (G4int k=0; k< fNofZPlanes; k++) {
+       G4double dr = (rmax_env[k] - rmin_env[k])/fNumber;
+        z[k]    = z_env[k];
+        rmin[k] = rmin_env[k] + j*dr;
+        rmax[k] = rmin_env[k] + (j+1)*dr;
+      }  
+    
+      G4Polycone* solid 
+        = new G4Polycone("polycone_s", fSphi, fFullPhi,
+                          fNofZPlanes, z, rmin, rmax);
+    
+      G4LogicalVolume* log 
+        = new G4LogicalVolume(solid, fAir, "polycone_l", 0, 0, 0);
+    
+      // position
+      G4ThreeVector position(0., 0., 0.);
+      new G4PVPlacement(0, position, log, "polycone_p", log_env, false, 0);
+      
+      delete [] z;
+      delete [] rmin;
+      delete [] rmax;
+    }  
+  }
+
+  delete [] z_env;
+  delete [] rmin_env;
+  delete [] rmax_env;
+}
+
+//_____________________________________________________________________________
+void MyDetectorConstruction::CreateEllipticalTube()
+{
+  
+  // big elliptical tube
+  // visualization not available
+
+  G4EllipticalTube* solid_env 
+    = new G4EllipticalTube("eltube_env_s", 
+                           fR + 2.*fDR/5., fR + 4.*fDR/5., fZ);
+    
+  G4LogicalVolume* log_env 
+    = new G4LogicalVolume(solid_env, fAir, "eltube_env_l", 0, 0, 0);
+    
+  // rotation        
+  G4RotationMatrix* rotation = 0;
+  if (fRotate) rotation = fRotation;
+
+  new G4PVPlacement(rotation, G4ThreeVector(0.,0.,0.),
+                    "eltube_env_p", log_env, fWorld, false, 0);
+
+  // smaller daughter elliptical tube
+  if (fNumber>1) {
+    G4EllipticalTube* solid 
+      = new G4EllipticalTube("eltube_s", fR, fR + fDR/5., fZ);
+    
+    G4LogicalVolume* log 
+      = new G4LogicalVolume(solid, fAir, "eltube_l", 0, 0, 0);
+    
+    // position
+    G4ThreeVector position(0., 0., 0.);
+    
+    new G4PVPlacement(0, position, log, "eltube_p", log_env, false, 0);
+  }
+
+  if (fNumber>2) {
+    // not supported cases
+    G4cout << "Elliptical tube:" << G4endl;
+    G4cout << "Only one daugher is implemented in the test." << G4endl;
+  }  
+}
+
+//_____________________________________________________________________________
+void MyDetectorConstruction::CreateHype()
+{
+  
+  // hyperbolic volume
+  // visualization not available 
+
+  G4Hype* solid_env 
+    = new G4Hype("hype_env_s", 
+                 fR, fR + fDR, fPhi, fTheta, fZ);
+    
+  G4LogicalVolume* log_env 
+    = new G4LogicalVolume(solid_env, fAir, "hype_env_l", 0, 0, 0);
+    
+  // rotation        
+  G4RotationMatrix* rotation = 0;
+  if (fRotate) rotation = fRotation;
+
+  new G4PVPlacement(rotation, G4ThreeVector(0.,0.,0.),
+                    "hype_env_p", log_env, fWorld, false, 0);
+  if (fNumber>1) {
+    // not supported cases
+    G4cout << "Hype:" << G4endl;
+    G4cout << "No daughers are implemented in the test." << G4endl;
+  } 
+}
+
+//
+// public methods
+//
+
+//_____________________________________________________________________________
+G4VPhysicalVolume* MyDetectorConstruction::Construct()
+{
+  CreateAir();
+
+  CreateWorld();
+  
+  switch (fShape) {
+
+    // CSG solids
+    case kBox:
+           CreateBox();
+          break;
+    case kTubs:
+           CreateTubs();
+          break;
+    case kCons:
+           CreateCons();
+          break;
+    case kTorus:
+           CreateTorus();
+          break;
+    case kTrd:
+           CreateTrd();
+          break;
+    case kTrap:
+           CreateTrap();
+          break;
+    case kPara:
+           CreatePara();
+          break;
+    case kSphere:
+           CreateSphere();
+          break;
+
+    // specific solids
+    case kPolyhedra:
+           CreatePolyhedra();
+          break;
+    case kPolycone:
+           CreatePolycone();
+          break;
+    case kEllipticalTube:
+           CreateEllipticalTube();
+          break;
+    case kHype:
+           CreateHype();
+          break;
+  }       
+
+  return fWorld;
+}
diff --git a/Flugg/examples/fluggEx/test/test.cc b/Flugg/examples/fluggEx/test/test.cc
new file mode 100644 (file)
index 0000000..f4f784e
--- /dev/null
@@ -0,0 +1,46 @@
+// $Id$
+// Flugg tag $Name$
+
+#include "FGeometryInit.hh"
+#include "MyDetectorConstruction.hh"
+
+#define flukam flukam_
+
+extern "C" void flukam(const G4int & GeoFlag);
+
+int main() {
+
+  FGeometryInit* theFGeometryInit = FGeometryInit::GetInstance();
+  
+  // Test cases:
+  // MyDetectorConstruction(Shape shape, G4int number, G4bool rotate);
+  //
+  // Shapes: 
+  // kBox, kTubs,kCons, kTorus, kTrd, kTrap, kPara, kSphere,
+  // kPolyhedra, kPolycone, kEllipticalTube, kHype  
+  //
+  // Number: in the interval < 1, 5 > 
+  // =1: one volume without daughters 
+  // >1: a volume with embedded daughters
+  
+  MyDetectorConstruction* detector 
+    = new MyDetectorConstruction(kPara, 5, true);
+
+  theFGeometryInit->setDetConstruction(detector);
+
+//flag for geometry:
+// 1 for GEANT4
+// 0 for FLUKA
+// 2 for Rubia
+    const G4int flag = 1;
+
+//call fortran
+    flukam(flag);
+
+//end
+  return 0;
+}
+
+
+
+
diff --git a/Flugg/examples/fluka/Bias.inp b/Flugg/examples/fluka/Bias.inp
new file mode 100644 (file)
index 0000000..20788b1
--- /dev/null
@@ -0,0 +1,1196 @@
+* $Id$
+* Flugg tag $Name$
+*
+GLOBAL                          -1.
+TITLE
+ARLW500: 500 MeV p on Cu + 5 m - concrete shield:  AF**2+GRS February 1994
+******************* BEAM, EVENT, DISCARD & THRESHOLDS *******************
+*== Set up BEAM parameters ============================================
+*needs arlw.pemf and fluarlw.o
+*
+DEFAULTS                                                              NEW-DEFA
+BEAM            -0.5                                                  PROTON
+*== BE CAREFUL: the beam z-starting point is supposed to be 1 m before ==
+*== the "effective" center of the target!!!! This is used by the sco-  ==
+*== ring routines to compute angles properly. ==
+*DISCARD          3.0      4.0
+BEAMPOS          0.0       0.0    -110.0
+*...+....1....+....2....+....3....+....4....+....5....+....6....+....7...
+*
+*== Make sure we get the new EVENT generator ==========================
+EVENTYPE                          1.0                                 EVAP
+*
+*         /C.O.group/ NAA group/ NAA fact./ from  /     to  /in step of
+*
+LOW-BIAS        73.0      72.0      0.95       1.0      50.0
+*
+GEOBEGIN                                                              COMBINAT
+GEOEND
+*
+* =============== Material to region correspondence ==============
+*
+*                     Material assignments
+**  Mat. #  1 (black hole)   in regions 2 and  29      no magfld
+*  Mat. #  1 (black hole)   in regions 1 to 4      no magfld
+ASSIGNMAT        1.0       2.0      29.0      27.0
+*...+....1....+....2....+....3....+....4....+....5....+....6....+....7...
+**  Mat. # 12 (copper)       in region 5            no magfld
+*  Mat. # 12 (copper)       in region 3            no magfld
+ASSIGNMAT       12.0       3.0
+**  Mat. #  2 (vacuum)       in region 6            no magfld
+*  Mat. #  2 (vacuum)       in region 1            no magfld
+ASSIGNMAT        2.0       1.0
+**  Mat. # 25 (concrete)     in regions 7-31        no magfld
+*  Mat. # 25 (concrete)     in regions 4-28        no magfld
+ASSIGNMAT       25.0       4.0     28.0
+*
+*
+******************* MATERIALS *******************************************
+*== New Material Definitions ==========================================
+*
+* Correctly define water, air and concrete and
+* define elements Na,Si,Ar,K,Ca which are not predefined and are needed
+* as components of concrete and air: Na=26,Si=27,Ar=28,K=29 and Ca=27
+*...+....1....+....2....+....3....+....4....+....5....+....6....+....7...
+MATERIAL         1.0    1.0079     0.089       3.0                 1.0HYDROGEN
+MATERIAL         6.0     12.01      2.25       6.0                    CARBON
+MATERIAL         7.0    14.007  0.001251       7.0                    NITROGEN
+MATERIAL         8.0    15.999  0.001429       8.0                    OXYGEN
+MATERIAL        12.0    24.305     1.738       9.0                    MAGNESIU
+MATERIAL        13.0    26.982      2.70      10.0                    ALUMINUM
+MATERIAL        26.0    55.847      7.87      11.0                    IRON
+MATERIAL        29.0    63.546      8.96      12.0                    COPPER
+MATERIAL         0.0       0.0       1.0      20.0                    WATER
+MATERIAL         0.0       0.0  0.001205      24.0                    AIR
+MATERIAL         0.0       0.0      2.35      25.0                    CONCRETE
+MATERIAL        11.0     22.99     0.971      26.0                    SODIUM
+MATERIAL        14.0     28.09      2.33      27.0                    SILICON
+MATERIAL        18.0     39.99  0.001780      28.0                    ARGON
+MATERIAL        19.0     39.10      0.86      29.0                    POTASSIU
+MATERIAL        20.0     40.08      1.55      30.0                    CALCIUM
+*...+....1....+....2....+....3....+....4....+....5....+....6....+....7...
+* Define material 20 as a compound (Water) H and O
+* overriding the predefined material
+COMPOUND         2.0       3.0       1.0       8.0                    WATER
+* Define material 24 as a compound (Air at NTP density) N, O and Ar
+* overriding the predefined material
+COMPOUND      -0.755       7.0    -0.232       8.0    -0.013      28.0AIR
+* Define material 25 as a compound (Concrete) H,O,Na,Mg,Al,Si,C,K,Ca,Fe
+* overriding the predefined material
+COMPOUND       -0.01       3.0 -0.529107       8.0    -0.016      26.0CONCRETE
+COMPOUND      -0.002       9.0 -0.033872      10.0 -0.337021      27.0CONCRETE
+COMPOUND      -0.001       6.0    -0.013      29.0    -0.044      30.0CONCRETE
+COMPOUND      -0.014      11.0                                        CONCRETE
+*...+....1....+....2....+....3....+....4....+....5....+....6....+....7...
+*...+....1....+....2....+....3....+....4....+....5....+....6....+....7...
+*
+*== Set up the correspondence between the FLUKA materials and the ======
+*== low-energy neutron module (MORSE) materials ========================
+*        / FL92 Ind/ 1st ID  /  2nd ID / 3rd ID  /
+* LOW-MAT         31.0                         293.0                    CARBON
+LOW-MAT         28.0                         293.0                    ARGON
+*
+*== Switch on correct electromagnetic transport =========================
+*
+EMF
+EMFCUT        -0.001    0.0001                 1.0      50.0
+EMFRAY        1.0       1.0         50.0
+*...+....1....+....2....+....3....+....4....+....5....+....6....+....7...
+*
+*************** BIASSING FOR PRODUCTION AND TRANSPORT *******************
+*
+WW-THRES    100.0     100.0               1.0        39.0
+WW-THRES    1.0       1.0                 40.0       40.0
+*
+WW-PROFI    1.0                   1.0     10.0       1.0      1.0
+WW-PROFI    1.4                  11.0     28.0       1.0      1.0
+WW-PROFI    1.96                 29.0     40.0       1.0      1.0
+WW-PROFI    2.74                 41.0     52.0       1.0      1.0
+WW-PROFI    3.84                 53.0     64.0       1.0      1.0
+WW-PROFI    4.61                 65.0     71.0       1.0      1.0
+WW-PROFI    5.53                 72.0     72.0       1.0      1.0
+*23456789 *23456789 *23456789 *23456789 *23456789 *23456789 *23456789 *23456789 
+BIASING          0.0       0.0 8.962E-02       1.0      50.0
+BIASING          0.0       0.0 8.962E-02       1.0
+BIASING          0.0       0.0 8.962E-02       4.0
+BIASING          0.0       0.0 1.452E-01       5.0
+BIASING          0.0       0.0 2.352E-01       6.0
+BIASING          0.0       0.0 3.810E-01       7.0
+BIASING          0.0       0.0 6.173E-01       8.0
+BIASING          0.0       0.0 1.000E+00       9.0
+BIASING          0.0       0.0 1.620E+00      10.0
+BIASING          0.0       0.0 2.624E+00      11.0
+BIASING          0.0       0.0 4.252E+00      12.0
+BIASING          0.0       0.0 6.887E+00      13.0
+BIASING          0.0       0.0 1.116E+01      14.0
+BIASING          0.0       0.0 1.808E+01      15.0
+BIASING          0.0       0.0 2.928E+01      16.0
+BIASING          0.0       0.0 4.744E+01      17.0
+BIASING          0.0       0.0 7.685E+01      18.0
+BIASING          0.0       0.0 1.245E+02      19.0
+BIASING          0.0       0.0 2.017E+02      20.0
+BIASING          0.0       0.0 3.267E+02      21.0
+BIASING          0.0       0.0 5.293E+02      22.0
+BIASING          0.0       0.0 8.575E+02      23.0
+BIASING          0.0       0.0 1.389E+03      24.0
+BIASING          0.0       0.0 2.250E+03      25.0
+BIASING          0.0       0.0 3.645E+03      26.0
+BIASING          0.0       0.0 5.906E+03      27.0
+BIASING          0.0       0.0 9.567E+03      28.0
+BIASING          0.0       0.0 9.567E+03       2.0
+*
+WW-FACTO   2.000E-01 8.000E+00       0.0       1.0      50.0           1.0
+WW-FACTO   2.000E-01 8.000E+00       0.0       1.0                     1.0
+WW-FACTO   2.000E-01 8.000E+00       0.0       4.0                     1.0
+WW-FACTO   2.000E-01 4.938E+00       0.0       5.0                     1.0
+WW-FACTO   1.905E-01 3.048E+00       0.0       6.0                     1.0
+WW-FACTO   1.176E-01 1.882E+00       0.0       7.0                     1.0
+WW-FACTO   7.260E-02 1.162E+00       0.0       8.0                     1.0
+WW-FACTO   4.481E-02 7.170E-01       0.0       9.0                     1.0
+WW-FACTO   2.766E-02 4.426E-01       0.0      10.0                     1.0
+WW-FACTO   1.708E-02 2.732E-01       0.0      11.0                     1.0
+WW-FACTO   1.054E-02 1.686E-01       0.0      12.0                     1.0
+WW-FACTO   6.506E-03 1.041E-01       0.0      13.0                     1.0
+WW-FACTO   4.016E-03 6.426E-02       0.0      14.0                     1.0
+WW-FACTO   2.479E-03 3.967E-02       0.0      15.0                     1.0
+WW-FACTO   1.530E-03 2.449E-02       0.0      16.0                     1.0
+WW-FACTO   9.447E-04 1.511E-02       0.0      17.0                     1.0
+WW-FACTO   5.831E-04 9.330E-03       0.0      18.0                     1.0
+WW-FACTO   3.600E-04 5.759E-03       0.0      19.0                     1.0
+WW-FACTO   2.222E-04 3.555E-03       0.0      20.0                     1.0
+WW-FACTO   1.372E-04 2.194E-03       0.0      21.0                     1.0
+WW-FACTO   8.466E-05 1.355E-03       0.0      22.0                     1.0
+WW-FACTO   5.226E-05 8.362E-04       0.0      23.0                     1.0
+WW-FACTO   3.226E-05 5.162E-04       0.0      24.0                     1.0
+WW-FACTO   1.991E-05 3.186E-04       0.0      25.0                     1.0
+WW-FACTO   1.229E-05 1.967E-04       0.0      26.0                     1.0
+WW-FACTO   7.588E-06 1.214E-04       0.0      27.0                     1.0
+WW-FACTO   4.684E-06 7.494E-05       0.0      28.0                     1.0
+WW-FACTO   4.684E-06 7.494E-05       0.0       2.0                     1.0
+*
+*   Set multiple scattering on for energies above 30 MeV
+*ACCURACY  -0.03     -0.03
+******************* OUTPUT AND SCORING **********************************
+* Minimum output for fluxes, maximum output for densities
+*
+OUTLEVEL         1.0       7.0                                  1.0
+*
+* Score all-stars
+*
+SCORE          201.0     208.0
+*
+* Boundary crossings
+*...+....1....+....2....+....3....+....4....+....5....+....6....+....7...
+EXTRAWEI                      1.0
+*
+USRBDX    +99.0     1.0       -40.0     4.0       5.0       1.0       P1 0-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     4.0       5.0       1.0       P1 5-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     4.0       5.0       1.0       P1 10-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     4.0       5.0       1.0       P1 15-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     4.0       5.0       1.0       P1 20-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     4.0       5.0       1.0       C1 0-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     4.0       5.0       1.0       C1 5-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     4.0       5.0       1.0       C1 10-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     4.0       5.0       1.0       C1 15-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     4.0       5.0       1.0       C1 20-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     7.0       -42.0     4.0       5.0       1.0       G1 0-5deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     4.0       5.0       1.0       G1 5-10deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     4.0       5.0       1.0       G1 10-15dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     4.0       5.0       1.0       G1 15-20dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     4.0       5.0       1.0       G1 20-30dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     8.0       -43.0     4.0       5.0       1.0       N1 0-5deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     4.0       5.0       1.0       N1 5-10deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     4.0       5.0       1.0       N1 10-15dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     4.0       5.0       1.0       N1 15-20dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     4.0       5.0       1.0       N1 20-30dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     1.0       -40.0     5.0       6.0       1.0       P2 0-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     5.0       6.0       1.0       P2 5-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     5.0       6.0       1.0       P2 10-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     5.0       6.0       1.0       P2 15-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     5.0       6.0       1.0       P2 20-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     5.0       6.0       1.0       C2 0-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     5.0       6.0       1.0       C2 5-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     5.0       6.0       1.0       C2 10-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     5.0       6.0       1.0       C2 15-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     5.0       6.0       1.0       C2 20-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     7.0       -42.0     5.0       6.0       1.0       G2 0-5deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     5.0       6.0       1.0       G2 5-10deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     5.0       6.0       1.0       G2 10-15dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     5.0       6.0       1.0       G2 15-20dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     5.0       6.0       1.0       G2 20-30dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     8.0       -43.0     5.0       6.0       1.0       N2 0-5deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     5.0       6.0       1.0       N2 5-10deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     5.0       6.0       1.0       N2 10-15dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     5.0       6.0       1.0       N2 15-20dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     5.0       6.0       1.0       N2 20-30dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     1.0       -40.0     6.0        7.0      1.0       P3 0-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     6.0        7.0      1.0       P3 5-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     6.0        7.0      1.0       P3 10-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     6.0        7.0      1.0       P3 15-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     6.0        7.0      1.0       P3 20-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     6.0        7.0      1.0       C3 0-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     6.0        7.0      1.0       C3 5-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     6.0        7.0      1.0       C3 10-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     6.0        7.0      1.0       C3 15-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     6.0        7.0      1.0       C3 20-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     7.0       -42.0     6.0        7.0      1.0       G3 0-5deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     6.0        7.0      1.0       G3 5-10deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     6.0        7.0      1.0       G3 10-15dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     6.0        7.0      1.0       G3 15-20dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     6.0        7.0      1.0       G3 20-30dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     8.0       -43.0     6.0        7.0      1.0       N3 0-5deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     6.0        7.0      1.0       N3 5-10deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     6.0        7.0      1.0       N3 10-15dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     6.0        7.0      1.0       N3 15-20dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     6.0        7.0      1.0       N3 20-30dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     1.0       -40.0      7.0       8.0      1.0       P4 0-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0      7.0       8.0      1.0       P4 5-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0      7.0       8.0      1.0       P4 10-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0      7.0       8.0      1.0       P4 15-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0      7.0       8.0      1.0       P4 20-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0      7.0       8.0      1.0       C4 0-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0      7.0       8.0      1.0       C4 5-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0      7.0       8.0      1.0       C4 10-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0      7.0       8.0      1.0       C4 15-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0      7.0       8.0      1.0       C4 20-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     7.0       -42.0      7.0       8.0      1.0       G4 0-5deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0      7.0       8.0      1.0       G4 5-10deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0      7.0       8.0      1.0       G4 10-15dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0      7.0       8.0      1.0       G4 15-20dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0      7.0       8.0      1.0       G4 20-30dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     8.0       -43.0      7.0       8.0      1.0       N4 0-5deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0      7.0       8.0      1.0       N4 5-10deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0      7.0       8.0      1.0       N4 10-15dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0      7.0       8.0      1.0       N4 15-20dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0      7.0       8.0      1.0       N4 20-30dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     1.0       -40.0      8.0       9.0      1.0       P5 0-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0      8.0       9.0      1.0       P5 5-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0      8.0       9.0      1.0       P5 10-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0      8.0       9.0      1.0       P5 15-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0      8.0       9.0      1.0       P5 20-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0      8.0       9.0      1.0       C5 0-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0      8.0       9.0      1.0       C5 5-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0      8.0       9.0      1.0       C5 10-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0      8.0       9.0      1.0       C5 15-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0      8.0       9.0      1.0       C5 20-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     7.0       -42.0      8.0       9.0      1.0       G5 0-5deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0      8.0       9.0      1.0       G5 5-10deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0      8.0       9.0      1.0       G5 10-15dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0      8.0       9.0      1.0       G5 15-20dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0      8.0       9.0      1.0       G5 20-30dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     8.0       -43.0      8.0       9.0      1.0       N5 0-5deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0      8.0       9.0      1.0       N5 5-10deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0      8.0       9.0      1.0       N5 10-15dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0      8.0       9.0      1.0       N5 15-20dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0      8.0       9.0      1.0       N5 20-30dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     1.0       -40.0      9.0      10.0      1.0       P6 0-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0      9.0      10.0      1.0       P6 5-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0      9.0      10.0      1.0       P6 10-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0      9.0      10.0      1.0       P6 15-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0      9.0      10.0      1.0       P6 20-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0      9.0      10.0      1.0       C6 0-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0      9.0      10.0      1.0       C6 5-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0      9.0      10.0      1.0       C6 10-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0      9.0      10.0      1.0       C6 15-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0      9.0      10.0      1.0       C6 20-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     7.0       -42.0      9.0      10.0      1.0       G6 0-5deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0      9.0      10.0      1.0       G6 5-10deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0      9.0      10.0      1.0       G6 10-15dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0      9.0      10.0      1.0       G6 15-20dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0      9.0      10.0      1.0       G6 20-30dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     8.0       -43.0      9.0      10.0      1.0       N6 0-5deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0      9.0      10.0      1.0       N6 5-10deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0      9.0      10.0      1.0       N6 10-15dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0      9.0      10.0      1.0       N6 15-20dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0      9.0      10.0      1.0       N6 20-30dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     1.0       -40.0     10.0      11.0      1.0       P7 0-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     10.0      11.0      1.0       P7 5-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     10.0      11.0      1.0       P7 10-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     10.0      11.0      1.0       P7 15-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     10.0      11.0      1.0       P7 20-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     10.0      11.0      1.0       C7 0-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     10.0      11.0      1.0       C7 5-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     10.0      11.0      1.0       C7 10-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     10.0      11.0      1.0       C7 15-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     10.0      11.0      1.0       C7 20-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     7.0       -42.0     10.0      11.0      1.0       G7 0-5deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     10.0      11.0      1.0       G7 5-10deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     10.0      11.0      1.0       G7 10-15dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     10.0      11.0      1.0       G7 15-20dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     10.0      11.0      1.0       G7 20-30dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     8.0       -43.0     10.0      11.0      1.0       N7 0-5deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     10.0      11.0      1.0       N7 5-10deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     10.0      11.0      1.0       N7 10-15dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     10.0      11.0      1.0       N7 15-20dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     10.0      11.0      1.0       N7 20-30dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     1.0       -40.0     11.0      12.0      1.0       P8 0-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     11.0      12.0      1.0       P8 5-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     11.0      12.0      1.0       P8 10-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     11.0      12.0      1.0       P8 15-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     11.0      12.0      1.0       P8 20-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     11.0      12.0      1.0       C8 0-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     11.0      12.0      1.0       C8 5-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     11.0      12.0      1.0       C8 10-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     11.0      12.0      1.0       C8 15-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     11.0      12.0      1.0       C8 20-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     7.0       -42.0     11.0      12.0      1.0       G8 0-5deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     11.0      12.0      1.0       G8 5-10deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     11.0      12.0      1.0       G8 10-15dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     11.0      12.0      1.0       G8 15-20dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     11.0      12.0      1.0       G8 20-30dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     8.0       -43.0     11.0      12.0      1.0       N8 0-5deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     11.0      12.0      1.0       N8 5-10deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     11.0      12.0      1.0       N8 10-15dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     11.0      12.0      1.0       N8 15-20dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     11.0      12.0      1.0       N8 20-30dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     1.0       -40.0     12.0      13.0      1.0       P9 0-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     12.0      13.0      1.0       P9 5-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     12.0      13.0      1.0       P9 10-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     12.0      13.0      1.0       P9 15-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     12.0      13.0      1.0       P9 20-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     12.0      13.0      1.0       C9 0-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     12.0      13.0      1.0       C9 5-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     12.0      13.0      1.0       C9 10-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     12.0      13.0      1.0       C9 15-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     12.0      13.0      1.0       C9 20-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     7.0       -42.0     12.0      13.0      1.0       G9 0-5deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     12.0      13.0      1.0       G9 5-10deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     12.0      13.0      1.0       G9 10-15dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     12.0      13.0      1.0       G9 15-20dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     12.0      13.0      1.0       G9 20-30dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     8.0       -43.0     12.0      13.0      1.0       N9 0-5deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     12.0      13.0      1.0       N9 5-10deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     12.0      13.0      1.0       N9 10-15dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     12.0      13.0      1.0       N9 15-20dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     12.0      13.0      1.0       N9 20-30dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     1.0       -40.0     13.0      14.0      1.0       P100-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     13.0      14.0      1.0       P105-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     13.0      14.0      1.0       P1010-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     13.0      14.0      1.0       P1015-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     13.0      14.0      1.0       P1020-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     13.0      14.0      1.0       C100-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     13.0      14.0      1.0       C105-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     13.0      14.0      1.0       C1010-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     13.0      14.0      1.0       C1015-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     13.0      14.0      1.0       C1020-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     7.0       -42.0     13.0      14.0      1.0       G100-5deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     13.0      14.0      1.0       G105-10deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     13.0      14.0      1.0       G1010-15dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     13.0      14.0      1.0       G1015-20dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     13.0      14.0      1.0       G1020-30dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     8.0       -43.0     13.0      14.0      1.0       N100-5deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     13.0      14.0      1.0       N105-10deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     13.0      14.0      1.0       N1010-15dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     13.0      14.0      1.0       N1015-20dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     13.0      14.0      1.0       N1020-30dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     1.0       -40.0     14.0      15.0      1.0       P110-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     14.0      15.0      1.0       P115-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     14.0      15.0      1.0       P1110-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     14.0      15.0      1.0       P1115-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     14.0      15.0      1.0       P1120-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     14.0      15.0      1.0       C110-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     14.0      15.0      1.0       C115-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     14.0      15.0      1.0       C1110-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     14.0      15.0      1.0       C1115-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     14.0      15.0      1.0       C1120-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     7.0       -42.0     14.0      15.0      1.0       G110-5deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     14.0      15.0      1.0       G115-10deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     14.0      15.0      1.0       G1110-15dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     14.0      15.0      1.0       G1115-20dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     14.0      15.0      1.0       G1120-30dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     8.0       -43.0     14.0      15.0      1.0       N110-5deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     14.0      15.0      1.0       N115-10deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     14.0      15.0      1.0       N1110-15dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     14.0      15.0      1.0       N1115-20dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     14.0      15.0      1.0       N1120-30dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     1.0       -40.0     15.0      16.0      1.0       P120-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     15.0      16.0      1.0       P125-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     15.0      16.0      1.0       P1210-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     15.0      16.0      1.0       P1215-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     15.0      16.0      1.0       P1220-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     15.0      16.0      1.0       C120-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     15.0      16.0      1.0       C125-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     15.0      16.0      1.0       C1210-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     15.0      16.0      1.0       C1215-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     15.0      16.0      1.0       C1220-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     7.0       -42.0     15.0      16.0      1.0       G120-5deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     15.0      16.0      1.0       G125-10deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     15.0      16.0      1.0       G1210-15dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     15.0      16.0      1.0       G1215-20dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     15.0      16.0      1.0       G1220-30dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     8.0       -43.0     15.0      16.0      1.0       N120-5deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     15.0      16.0      1.0       N125-10deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     15.0      16.0      1.0       N1210-15dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     15.0      16.0      1.0       N1215-20dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     15.0      16.0      1.0       N1220-30dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     1.0       -40.0     16.0      17.0      1.0       P130-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     16.0      17.0      1.0       P135-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     16.0      17.0      1.0       P1310-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     16.0      17.0      1.0       P1315-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     16.0      17.0      1.0       P1320-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     16.0      17.0      1.0       C130-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     16.0      17.0      1.0       C135-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     16.0      17.0      1.0       C1310-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     16.0      17.0      1.0       C1315-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     16.0      17.0      1.0       C1320-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     7.0       -42.0     16.0      17.0      1.0       G130-5deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     16.0      17.0      1.0       G135-10deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     16.0      17.0      1.0       G1310-15dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     16.0      17.0      1.0       G1315-20dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     16.0      17.0      1.0       G1320-30dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     8.0       -43.0     16.0      17.0      1.0       N130-5deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     16.0      17.0      1.0       N135-10deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     16.0      17.0      1.0       N1310-15dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     16.0      17.0      1.0       N1315-20dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     16.0      17.0      1.0       N1320-30dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     1.0       -40.0     17.0      18.0      1.0       P140-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     17.0      18.0      1.0       P145-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     17.0      18.0      1.0       P1410-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     17.0      18.0      1.0       P1415-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     17.0      18.0      1.0       P1420-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     17.0      18.0      1.0       C140-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     17.0      18.0      1.0       C145-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     17.0      18.0      1.0       C1410-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     17.0      18.0      1.0       C1415-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     17.0      18.0      1.0       C1420-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     7.0       -42.0     17.0      18.0      1.0       G140-5deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     17.0      18.0      1.0       G145-10deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     17.0      18.0      1.0       G1410-15dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     17.0      18.0      1.0       G1415-20dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     17.0      18.0      1.0       G1420-30dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     8.0       -43.0     17.0      18.0      1.0       N140-5deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     17.0      18.0      1.0       N145-10deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     17.0      18.0      1.0       N1410-15dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     17.0      18.0      1.0       N1415-20dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     17.0      18.0      1.0       N1420-30dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     1.0       -40.0     18.0      19.0      1.0       P150-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     18.0      19.0      1.0       P155-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     18.0      19.0      1.0       P1510-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     18.0      19.0      1.0       P1515-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     18.0      19.0      1.0       P1520-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     18.0      19.0      1.0       C150-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     18.0      19.0      1.0       C155-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     18.0      19.0      1.0       C1510-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     18.0      19.0      1.0       C1515-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     18.0      19.0      1.0       C1520-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     7.0       -42.0     18.0      19.0      1.0       G150-5deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     18.0      19.0      1.0       G155-10deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     18.0      19.0      1.0       G1510-15dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     18.0      19.0      1.0       G1515-20dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     18.0      19.0      1.0       G1520-30dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     8.0       -43.0     18.0      19.0      1.0       N150-5deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     18.0      19.0      1.0       N155-10deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     18.0      19.0      1.0       N1510-15dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     18.0      19.0      1.0       N1515-20dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     18.0      19.0      1.0       N1520-30dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     1.0       -40.0     19.0      20.0      1.0       P160-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     19.0      20.0      1.0       P165-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     19.0      20.0      1.0       P1610-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     19.0      20.0      1.0       P1615-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     19.0      20.0      1.0       P1620-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     19.0      20.0      1.0       C160-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     19.0      20.0      1.0       C165-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     19.0      20.0      1.0       C1610-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     19.0      20.0      1.0       C1615-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     19.0      20.0      1.0       C1620-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     7.0       -42.0     19.0      20.0      1.0       G160-5deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     19.0      20.0      1.0       G165-10deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     19.0      20.0      1.0       G1610-15dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     19.0      20.0      1.0       G1615-20dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     19.0      20.0      1.0       G1620-30dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     8.0       -43.0     19.0      20.0      1.0       N160-5deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     19.0      20.0      1.0       N165-10deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     19.0      20.0      1.0       N1610-15dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     19.0      20.0      1.0       N1615-20dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     19.0      20.0      1.0       N1620-30dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     1.0       -40.0     23.0      24.0      1.0       P170-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     20.0      21.0      1.0       P175-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     20.0      21.0      1.0       P1710-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     20.0      21.0      1.0       P1715-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     20.0      21.0      1.0       P1720-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     20.0      21.0      1.0       C170-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     20.0      21.0      1.0       C175-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     20.0      21.0      1.0       C1710-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     20.0      21.0      1.0       C1715-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     20.0      21.0      1.0       C1720-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     7.0       -42.0     20.0      21.0      1.0       G170-5deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     20.0      21.0      1.0       G175-10deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     20.0      21.0      1.0       G1710-15dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     20.0      21.0      1.0       G1715-20dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     20.0      21.0      1.0       G1720-30dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     8.0       -43.0     20.0      21.0      1.0       N170-5deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     20.0      21.0      1.0       N175-10deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     20.0      21.0      1.0       N1710-15dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     20.0      21.0      1.0       N1715-20dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     20.0      21.0      1.0       N1720-30dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     1.0       -40.0     21.0      22.0      1.0       P180-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     21.0      22.0      1.0       P185-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     21.0      22.0      1.0       P1810-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     21.0      22.0      1.0       P1815-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     21.0      22.0      1.0       P1820-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     21.0      22.0      1.0       C180-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     21.0      22.0      1.0       C185-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     21.0      22.0      1.0       C1810-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     21.0      22.0      1.0       C1815-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     21.0      22.0      1.0       C1820-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     7.0       -42.0     21.0      22.0      1.0       G180-5deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     21.0      22.0      1.0       G185-10deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     21.0      22.0      1.0       G1810-15dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     21.0      22.0      1.0       G1815-20dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     21.0      22.0      1.0       G1820-30dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     8.0       -43.0     21.0      22.0      1.0       N180-5deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     21.0      22.0      1.0       N185-10deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     21.0      22.0      1.0       N1810-15dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     21.0      22.0      1.0       N1815-20dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     21.0      22.0      1.0       N1820-30dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     1.0       -40.0     22.0      23.0      1.0       P190-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     22.0      23.0      1.0       P195-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     22.0      23.0      1.0       P1910-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     22.0      23.0      1.0       P1915-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     22.0      23.0      1.0       P1920-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     22.0      23.0      1.0       C190-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     22.0      23.0      1.0       C195-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     22.0      23.0      1.0       C1910-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     22.0      23.0      1.0       C1915-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     22.0      23.0      1.0       C1920-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     7.0       -42.0     22.0      23.0      1.0       G190-5deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     22.0      23.0      1.0       G195-10deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     22.0      23.0      1.0       G1910-15dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     22.0      23.0      1.0       G1915-20dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     22.0      23.0      1.0       G1920-30dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     8.0       -43.0     22.0      23.0      1.0       N190-5deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     22.0      23.0      1.0       N195-10deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     22.0      23.0      1.0       N1910-15dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     22.0      23.0      1.0       N1915-20dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     22.0      23.0      1.0       N1920-30dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     1.0       -40.0     23.0      24.0      1.0       P200-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     23.0      24.0      1.0       P205-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     23.0      24.0      1.0       P2010-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     23.0      24.0      1.0       P2015-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     23.0      24.0      1.0       P2020-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     23.0      24.0      1.0       C200-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     23.0      24.0      1.0       C205-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     23.0      24.0      1.0       C2010-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     23.0      24.0      1.0       C2015-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     23.0      24.0      1.0       C2020-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     7.0       -42.0     23.0      24.0      1.0       G200-5deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     23.0      24.0      1.0       G205-10deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     23.0      24.0      1.0       G2010-15dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     23.0      24.0      1.0       G2015-20dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     23.0      24.0      1.0       G2020-30dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     8.0       -43.0     23.0      24.0      1.0       N200-5deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     23.0      24.0      1.0       N205-10deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     23.0      24.0      1.0       N2010-15dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     23.0      24.0      1.0       N2015-20dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     23.0      24.0      1.0       N2020-30dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     1.0       -40.0     24.0      25.0      1.0       P210-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     24.0      25.0      1.0       P215-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     24.0      25.0      1.0       P2110-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     24.0      25.0      1.0       P2115-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     24.0      25.0      1.0       P2120-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     24.0      25.0      1.0       C210-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     24.0      25.0      1.0       C215-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     24.0      25.0      1.0       C2110-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     24.0      25.0      1.0       C2115-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     24.0      25.0      1.0       C2120-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     7.0       -42.0     24.0      25.0      1.0       G210-5deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     24.0      25.0      1.0       G215-10deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     24.0      25.0      1.0       G2110-15dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     24.0      25.0      1.0       G2115-20dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     24.0      25.0      1.0       G2120-30dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     8.0       -43.0     24.0      25.0      1.0       N210-5deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     24.0      25.0      1.0       N215-10deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     24.0      25.0      1.0       N2110-15dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     24.0      25.0      1.0       N2115-20dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     24.0      25.0      1.0       N2120-30dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     1.0       -40.0     25.0      26.0      1.0       P220-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     25.0      26.0      1.0       P225-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     25.0      26.0      1.0       P2210-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     25.0      26.0      1.0       P2215-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     25.0      26.0      1.0       P2220-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     25.0      26.0      1.0       C220-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     25.0      26.0      1.0       C225-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     25.0      26.0      1.0       C2210-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     25.0      26.0      1.0       C2215-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     25.0      26.0      1.0       C2220-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     7.0       -42.0     25.0      26.0      1.0       G220-5deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     25.0      26.0      1.0       G225-10deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     25.0      26.0      1.0       G2210-15dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     25.0      26.0      1.0       G2215-20dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     25.0      26.0      1.0       G2220-30dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     8.0       -43.0     25.0      26.0      1.0       N220-5deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     25.0      26.0      1.0       N225-10deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     25.0      26.0      1.0       N2210-15dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     25.0      26.0      1.0       N2215-20dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     25.0      26.0      1.0       N2220-30dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     1.0       -40.0     26.0      27.0      1.0       P230-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     26.0      27.0      1.0       P235-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     26.0      27.0      1.0       P2310-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     26.0      27.0      1.0       P2315-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     26.0      27.0      1.0       P2320-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     26.0      27.0      1.0       C230-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     26.0      27.0      1.0       C235-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     26.0      27.0      1.0       C2310-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     26.0      27.0      1.0       C2315-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     26.0      27.0      1.0       C2320-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     7.0       -42.0     26.0      27.0      1.0       G230-5deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     26.0      27.0      1.0       G235-10deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     26.0      27.0      1.0       G2310-15dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     26.0      27.0      1.0       G2315-20dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     26.0      27.0      1.0       G2320-30dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     8.0       -43.0     26.0      27.0      1.0       N230-5deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     26.0      27.0      1.0       N235-10deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     26.0      27.0      1.0       N2310-15dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     26.0      27.0      1.0       N2315-20dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     26.0      27.0      1.0       N2320-30dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     1.0       -40.0     27.0      28.0      1.0       P240-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     27.0      28.0      1.0       P245-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     27.0      28.0      1.0       P2410-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     27.0      28.0      1.0       P2415-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     27.0      28.0      1.0       P2420-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     27.0      28.0      1.0       C240-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     27.0      28.0      1.0       C245-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     27.0      28.0      1.0       C2410-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     27.0      28.0      1.0       C2415-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     27.0      28.0      1.0       C2420-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     7.0       -42.0     27.0      28.0      1.0       G240-5deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     27.0      28.0      1.0       G245-10deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     27.0      28.0      1.0       G2410-15dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     27.0      28.0      1.0       G2415-20dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     27.0      28.0      1.0       G2420-30dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     8.0       -43.0     27.0      28.0      1.0       N240-5deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     27.0      28.0      1.0       N245-10deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     27.0      28.0      1.0       N2410-15dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     27.0      28.0      1.0       N2415-20dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     27.0      28.0      1.0       N2420-30dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     1.0       -40.0     28.0       2.0      1.0       P250-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     28.0       2.0      1.0       P255-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     28.0       2.0      1.0       P2510-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     28.0       2.0      1.0       P2515-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     1.0       -40.0     28.0       2.0      1.0       P2520-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     28.0       2.0      1.0       C250-5deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     28.0       2.0      1.0       C255-10deg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     28.0       2.0      1.0       C2510-15dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     28.0       2.0      1.0       C2515-20dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     209.0     -41.0     28.0       2.0      1.0       C2520-30dg
+USRBDX    1.0       0.01      20.0                                    &
+USRBDX    +99.0     7.0       -42.0     28.0       2.0      1.0       G250-5deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     28.0       2.0      1.0       G255-10deg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     28.0       2.0      1.0       G2510-15dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     28.0       2.0      1.0       G2515-20dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     7.0       -42.0     28.0       2.0      1.0       G2520-30dg
+USRBDX    1.0       0.0001    40.0                                    &
+USRBDX    +99.0     8.0       -43.0     28.0       2.0      1.0       N250-5deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     28.0       2.0      1.0       N255-10deg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     28.0       2.0      1.0       N2510-15dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     28.0       2.0      1.0       N2515-20dg
+USRBDX    1.0           1.E-14140.0                                   &
+USRBDX    +99.0     8.0       -43.0     28.0       2.0      1.0       N2520-30dg
+USRBDX    1.0           1.E-14140.0                                   &
+*...+....1....+....2....+....3....+....4....+....5....+....6....+....7...
+*************** START SIMULATION ************************************
+*   Read seeds from unit 1
+DUMPTHEM  101                                                         MGDRAW
+RANDOMIZE        1.0
+*== Start the calculation ==============================================
+*
+* /No. protons/No. stars/Print time/Inc.beam//default interactive tlim./
+*23456789 *23456789 *23456789 *23456789 *23456789 *23456789 *23456789 *23456789
+START      1.0       99999999.
+STOP
diff --git a/Flugg/examples/fluka/MagSphereNotRep.inp b/Flugg/examples/fluka/MagSphereNotRep.inp
new file mode 100644 (file)
index 0000000..3fc7383
--- /dev/null
@@ -0,0 +1,121 @@
+* $Id$
+* Flugg tag $Name$
+*
+GLOBAL                    0.0      -1.0
+TITLE
+ 1 GeV p for testing magnetic field
+*needs t36.pemf
+DEFAULTS                                                              CALORIME
+*23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789
+BEAM         1.                            1.      1.                 PROTON
+BEAMPOS   2.0        -4.       -1.       0.0       0.0
+* Switch on the new generator/heavies transported      /option 13 selected
+EVENTYPE                                                              EVAP
+* Switch off all low energy neutron biasing
+LOW-BIAS            73.0                1.0        82.0
+* Switch on detailed multiple scattering for charged hadrons down to threshold
+ACCURACY  1.0       1.0
+* Pair production and bremss. down to 100 keV
+PAIRBREM  +3.0      0.0        0.0001    3.0       50.0
+* Geometry
+GEOBEGIN                                                              COMBINAT
+GEOEND
+* *** Time cut-off  ***
+TIME-CUT  2000.0                        1.0        82.0
+* *** Materials ***
+MATERIAL  1.0       1.0079    0.089     3.0                  1.0      HYDROGEN
+MATERIAL  6.0       12.01     2.26      6.0                           CARBON
+MATERIAL  7.0       14.007    0.001251  7.0                           NITROGEN
+MATERIAL  8.0       15.999    0.001429  8.0                           OXYGEN
+MATERIAL  18.0      39.948    1.78      9.0                           ARGON
+MATERIAL  13.0      29.982    2.70      10.0                          ALUMINUM
+MATERIAL  26.0      55.85     7.87      17.0                          IRON
+MATERIAL  26.0      55.85     7.87      18.0                          IRON0
+MATERIAL  82.0      207.19    11.35     19.0                          LEAD
+MATERIAL  51.0      121.75    6.62      20.0                          ANTIMONY
+MATERIAL                      11.3      21.0                          LEADSB0
+COMPOUND  -0.96     19.0      -0.04     20.0                          LEADSB0
+* Be sure to be consistent with PEMF for e/pi purposes:
+MAT-PROP                      804.96    21.0
+STERNHEI  6.159511  0.508     3.0000    0.246848  3.0000     0.0      21.0
+MATERIAL                      11.3      22.0                          LEADSB
+COMPOUND  -0.96     19.0      -0.04     20.0                          LEADSB
+* Be sure to be consistent with PEMF for e/pi purposes:
+MAT-PROP                      804.96    22.0
+STERNHEI  6.159511  0.508     3.0000    0.246848  3.0000     0.0      22.0
+MATERIAL                      1.044     23.0                          SCSN38
+* Be sure to be consistent with PEMF for e/pi purposes:
+MAT-PROP                      64.7      23.0
+STERNHEI  3.1997    0.1464    2.4855    0.16101   3.2393     0.0      23.0
+* Set the transport accuracy high in Scintillator:
+FLUKAFIX  0.05                          23.0
+*
+COMPOUND  +1.0      3.0       +1.0      6.0                           SCSN38
+MATERIAL                      0.001225  24.0                          AIR
+COMPOUND  -.9256E-03 7.0      -.2837E-03 8.0      -.01572E-3 9.0      AIR
+MATERIAL                      1.17      25.0                          PMMAWLS
+COMPOUND  +1.0      3.0       +0.57     6.0       +0.57      8.0      PMMAWLS
+*  Set the correspondence for low energy neutrons  *
+LOW-MAT   3.0       1.0       -2.0      293.0                         HYDROGEN
+LOW-MAT   6.0       6.0       -2.0      293.0                         CARBON
+LOW-MAT   7.0       7.0       14.0      293.0                         NITROGEN
+LOW-MAT   8.0       8.0       16.0      293.0                         OXYGEN
+LOW-MAT   9.0       18.0      -2.0      293.0                         ARGON
+LOW-MAT   10.0      13.0      -2.0      293.0                         ALUMINUM
+LOW-MAT   17.0      26.0      -2.0      293.0                         IRON
+LOW-MAT   18.0      26.0      -2.0      293.0                         IRON
+LOW-MAT   19.0      82.0      -2.0      293.0                         LEAD
+LOW-MAT   20.0      51.0      -2.0      293.0                         ANTIMONY
+* Set the transport accuracy high in Scintillator:
+FLUKAFIX  0.05                          23.0
+*
+*23456789 *23456789 *23456789 *23456789 *23456789 *23456789 *23456789 *23456789
+*  Define region materials, cut-off's and step sizes  *
+* void around 
+ASSIGNMAT        2.0       1.0       2.0
+* layers with lead
+ASSIGNMAT       22.0       3.0       8.0       1.0       1.0
+* spheres with scintillator
+ASSIGNMAT       23.0      23.0      81.0       1.0       1.0
+* tubs with alluminum
+ASSIGNMAT       10.0       9.0      22.0       1.0       1.0
+* black hole
+ASSIGNMAT        1.0      82.0
+EMFCUT        0.0001  0.00001        1.        81.
+*
+* *** production
+*23456789 *23456789 *23456789 *23456789 *23456789 *23456789 *23456789 *23456789
+*  Hadron and muon thresholds: *
+PART-THR  -0.003    1.0       39.0      1.0      
+PART-THR  -0.0196   8.0       8.0       1.0      
+PART-THR  -0.05     9.0       9.0       1.0   
+*23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789
+* raggio di curvatura: R[m] = p[Gev/c] / (0.3*B[Tesla]) 
+MGNFIELD   20.      .01       .05       60.0        0.0        0.0
+*
+SCORE     208.0     211.0     210.0
+*DISCARD   3.0    
+*
+*23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789
+* output on un-formatted file for cartesian binning
+EVENTBIN       -0.1     208.      -25.        5.1       4.5       8.0 CartesBin
+EVENTBIN        0.       -5.1       0.       25.5      48.       40.  &
+* output on un-formatted file for region by region binning
+EVENTBIN        8.0     208.      -26.       81.                      RegionBin
+EVENTBIN        3.                            1.                      &
+*
+OUTLEVEL        1.0       7.0                                   1.0
+*OUTLEVEL        1.0       7.0
+DUMPTHEM  101.                                                        MGDRAW
+*
+RANDOMIZ  1.0
+*23456789 *23456789 *23456789 *23456789 *23456789 *23456789 *23456789 *23456789
+START     1.0       99999999. 4000.0     0.0       1.0
+STOP
+
+
+
+
+
+
+
diff --git a/Flugg/examples/fluka/Param.inp b/Flugg/examples/fluka/Param.inp
new file mode 100644 (file)
index 0000000..0d7db40
--- /dev/null
@@ -0,0 +1,119 @@
+* $Id$
+* Flugg tag $Name$
+*
+GLOBAL                          -1.
+TITLE
+ 10 GeV pi- on simple geometry for testing bias histories
+*needs argon.pemf
+DEFAULTS                                                              CALORIME
+*23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789
+BEAM      10.0                                                        PION-
+BEAMPOS   -1.4        0.5       0.0     1.0
+* Switch on the new generator/heavies transported      /option 13 selected
+EVENTYPE                                                              EVAP
+* Switch off all low energy neutron biasing
+LOW-BIAS            73.0                1.0        6.0
+* Switch on detailed multiple scattering for charged hadrons down to threshold
+ACCURACY  1.0       1.0
+* Pair production and bremss. down to 100 keV
+PAIRBREM  +3.0      0.0        0.0001    3.0       50.0
+* Geometry
+GEOBEGIN                                                              COMBINAT
+GEOEND
+* *** Time cut-off  ***
+TIME-CUT  2000.0                        1.0        6.0
+* *** Materials ***
+MATERIAL  1.0       1.0079    0.089     3.0                  1.0      HYDROGEN
+MATERIAL  6.0       12.01     2.26      6.0                           CARBON
+MATERIAL  7.0       14.007    0.001251  7.0                           NITROGEN
+MATERIAL  8.0       15.999    0.001429  8.0                           OXYGEN
+MATERIAL  18.0      39.948    1.78      9.0                           ARGON
+MATERIAL  13.0      29.982    2.70      10.0                          ALUMINUM
+MATERIAL  26.0      55.85     7.87      17.0                          IRON
+MATERIAL  26.0      55.85     7.87      18.0                          IRON0
+MATERIAL  82.0      207.19    11.35     19.0                          LEAD
+MATERIAL  51.0      121.75    6.62      20.0                          ANTIMONY
+MATERIAL                      11.3      21.0                          LEADSB0
+COMPOUND  -0.96     19.0      -0.04     20.0                          LEADSB0
+* Be sure to be consistent with PEMF for e/pi purposes:
+MAT-PROP                      804.96    21.0
+STERNHEI  6.159511  0.508     3.0000    0.246848  3.0000     0.0      21.0
+MATERIAL                      11.3      22.0                          LEADSB
+COMPOUND  -0.96     19.0      -0.04     20.0                          LEADSB
+* Be sure to be consistent with PEMF for e/pi purposes:
+MAT-PROP                      804.96    22.0
+STERNHEI  6.159511  0.508     3.0000    0.246848  3.0000     0.0      22.0
+MATERIAL                      1.044     23.0                          SCSN38
+* Be sure to be consistent with PEMF for e/pi purposes:
+MAT-PROP                      64.7      23.0
+STERNHEI  3.1997    0.1464    2.4855    0.16101   3.2393     0.0      23.0
+* Set the transport accuracy high in Scintillator:
+FLUKAFIX  0.05                          23.0
+*
+COMPOUND  +1.0      3.0       +1.0      6.0                           SCSN38
+MATERIAL                      0.001225  24.0                          AIR
+COMPOUND  -.9256E-03 7.0      -.2837E-03 8.0      -.01572E-3 9.0      AIR
+MATERIAL                      1.17      25.0                          PMMAWLS
+COMPOUND  +1.0      3.0       +0.57     6.0       +0.57      8.0      PMMAWLS
+*  Set the correspondence for low energy neutrons  *
+LOW-MAT   3.0       1.0       -2.0      293.0                         HYDROGEN
+LOW-MAT   6.0       6.0       -2.0      293.0                         CARBON
+LOW-MAT   7.0       7.0       14.0      293.0                         NITROGEN
+LOW-MAT   8.0       8.0       16.0      293.0                         OXYGEN
+LOW-MAT   9.0       18.0      -2.0      293.0                         ARGON
+LOW-MAT   10.0      13.0      -2.0      293.0                         ALUMINUM
+LOW-MAT   17.0      26.0      -2.0      293.0                         IRON
+LOW-MAT   18.0      26.0      -2.0      293.0                         IRON
+LOW-MAT   19.0      82.0      -2.0      293.0                         LEAD
+LOW-MAT   20.0      51.0      -2.0      293.0                         ANTIMONY
+* Set the transport accuracy high in Scintillator:
+FLUKAFIX  0.05                          23.0
+*
+*23456789 *23456789 *23456789 *23456789 *23456789 *23456789 *23456789 *23456789
+*  Define region materials, cut-off's and step sizes  *
+ASSIGNMAT       24.0       2.0       3.0       0.0       0.0       0.0
+ASSIGNMAT       22.0       4.0       0.0       0.0       0.0       0.0
+ASSIGNMAT       23.0       5.0       0.0       0.0       0.0       0.0
+ASSIGNMAT        1.0       6.0       0.0       0.0       0.0       0.0
+ASSIGNMAT        1.0       1.0       0.0       0.0       0.0       0.0
+STEPSIZE                 10.0      1.0        6.0
+STEPSIZE                  1.0      4.0        5.0
+STEPSIZE                  1.0      6.0      
+EMFCUT    -0.100E-03+0.010E-03          6.0
+DELTARAY   0.00001            1.05      6.0
+*
+MULSOPT             -3.0      -2.0      1.0       50.0
+* *** Switch on accurate treatment of photoelectric interactions and X-ray
+* *** production
+*23456789 *23456789 *23456789 *23456789 *23456789 *23456789 *23456789 *23456789
+EMFFLUO   1.0       1.0        6.0
+* *** Switch on Rayleigh (coherent) scattering for all regions
+EMFRAY    1.0       1.0        6.0
+*  Hadron and muon thresholds: *
+PART-THR  0.075     1.0        5.0                1.0
+*PART-THR  -0.05     9.0       9.0
+*PART-THR  -0.0196   8.0       8.0       1.0
+*23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789
+EMFFIX     3.0      0.1        5.0      0.1
+EMFFIX     4.0      0.1      
+*** bias for testing lattice histories ***
+*23456789 *23456789 *23456789 *23456789 *23456789 *23456789 *23456789 *23456789
+BIASING          0.0       0.0 8.962E-02       1.0       6.0
+BIASING          0.0       0.0 8.962E-02       3.0
+BIASING          0.0       0.5 8.962E-02       4.0
+BIASING          0.0       2.0 1.452E-01       5.0
+LAM-BIAS         0.0      -0.1       1.0
+EMF-BIAS      2000.0      10.0      10.0       4.0       5.0       1.0 LPBEMF
+LOW-BIAS         0.0       1.0       0.9       4.0       5.0
+*
+SCORE     208.0     211.0     210.0
+EXTRAWEI                                                    1.0
+EVENTDAT  -54.0                                                       BIASP10EV
+*
+OUTLEVEL        1.0       7.0                                     1.0
+*DUMPTHEM  101.                                                        MGDRAW
+*
+RANDOMIZ  1.0
+*23456789 *23456789 *23456789 *23456789 *23456789 *23456789 *23456789 *23456789
+START     1.0        99999999. 4000.0     0.0       1.0
+STOP
diff --git a/Flugg/examples/fluka/T36.inp b/Flugg/examples/fluka/T36.inp
new file mode 100644 (file)
index 0000000..db37809
--- /dev/null
@@ -0,0 +1,208 @@
+* $Id$
+* Flugg tag $Name$
+*
+GLOBAL                          -1.
+TITLE
+T36ap10: 10 GeV pi- on TEST36A for FLUKA+GEANT4 simulation
+*needs t36.pemf
+DEFAULTS                                                              CALORIME
+*23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789
+BEAM      10.0                                                        PION-
+BEAMPOS   -10.0       0.0       0.0     1.0
+* Switch on the new generator/heavies transported      /option 13 selected
+EVENTYPE                                                              EVAP
+* Switch on low-energy neutron transport
+*LOW-NEUT  72.0      22.0      0.0196    0.0
+* Switch off all low energy neutron biasing
+LOW-BIAS            73.0                1.0       44.0
+* Switch on detailed multiple scattering for charged hadrons down to threshold
+ACCURACY  1.0       1.0
+* Pair production and bremss. down to 100 keV
+PAIRBREM  +3.0      0.0        0.0001    3.0       50.0
+* Geometry
+GEOBEGIN                                                              COMBINAT
+GEOEND
+* *** Time cut-off  ***
+TIME-CUT    2000.0                      1.0       43.0
+* *** Materials ***
+MATERIAL  1.0       1.0079    0.089     3.0                  1.0      HYDROGEN
+MATERIAL  6.0       12.01     2.26      6.0                           CARBON
+MATERIAL  7.0       14.007    0.001251  7.0                           NITROGEN
+MATERIAL  8.0       15.999    0.001429  8.0                           OXYGEN
+MATERIAL  18.0      39.948    1.78      9.0                           ARGON
+MATERIAL  13.0      29.982    2.70      10.0                          ALUMINUM
+MATERIAL  26.0      55.85     7.87      17.0                          IRON
+MATERIAL  26.0      55.85     7.87      18.0                          IRON0
+MATERIAL  82.0      207.19    11.35     19.0                          LEAD
+MATERIAL  51.0      121.75    6.62      20.0                          ANTIMONY
+MATERIAL                      11.3      21.0                          LEADSB0
+COMPOUND  -0.96     19.0      -0.04     20.0                          LEADSB0
+* Be sure to be consistent with PEMF for e/pi purposes:
+MAT-PROP                      804.96    21.0
+STERNHEI  6.159511  0.508     3.0000    0.246848  3.0000     0.0      21.0
+MATERIAL                      11.3      22.0                          LEADSB
+COMPOUND  -0.96     19.0      -0.04     20.0                          LEADSB
+* Be sure to be consistent with PEMF for e/pi purposes:
+MAT-PROP                      804.96    22.0
+STERNHEI  6.159511  0.508     3.0000    0.246848  3.0000     0.0      22.0
+MATERIAL                      1.044     23.0                          SCSN38
+* Be sure to be consistent with PEMF for e/pi purposes:
+MAT-PROP                      64.7      23.0
+STERNHEI  3.1997    0.1464    2.4855    0.16101   3.2393     0.0      23.0
+* Set the transport accuracy high in Scintillator:
+FLUKAFIX  0.05                          23.0
+*
+COMPOUND  +1.0      3.0       +1.0      6.0                           SCSN38
+MATERIAL                      0.001225  24.0                          AIR
+COMPOUND  -.9256E-03 7.0      -.2837E-03 8.0      -.01572E-3 9.0      AIR
+MATERIAL                      1.17      25.0                          PMMAWLS
+*COMPOUND  +1.0      3.0       +0.57     6.0       +0.57      8.0      PMMAWLS
+COMPOUND   -5.94e-02      10.0 -4.03e-01      11.0 -5.37e-01      12.0PMMAWLS
+*  Set the correspondence for low energy neutrons  *
+LOW-MAT   3.0       1.0       -2.0      293.0                         HYDROGEN
+LOW-MAT   6.0       6.0       -2.0      293.0                         CARBON
+LOW-MAT   7.0       7.0       14.0      293.0                         NITROGEN
+LOW-MAT   8.0       8.0       16.0      293.0                         OXYGEN
+LOW-MAT   9.0       18.0      -2.0      293.0                         ARGON
+LOW-MAT   10.0      13.0      -2.0      293.0                         ALUMINUM
+LOW-MAT   17.0      26.0      -2.0      293.0                         IRON
+LOW-MAT   18.0      26.0      -2.0      293.0                         IRON
+LOW-MAT   19.0      82.0      -2.0      293.0                         LEAD
+LOW-MAT   20.0      51.0      -2.0      293.0                         ANTIMONY
+*23456789 *23456789 *23456789 *23456789 *23456789 *23456789 *23456789 *23456789
+*  Define region materials, cut-off's and step sizes  *
+STEPSIZE            10.0      1.0       44.0
+*  External void: *
+ASSIGNMAT 1.0       44.0
+*  Dummy region 2 with black hole: *
+ASSIGNMAT 1.0       2.0
+*  Surrounding vacuum: *
+ASSIGNMAT 2.0       1.0
+STEPSIZE            10.0      1.0
+*  Module front vacuum: *
+ASSIGNMAT 2.0       11.0
+STEPSIZE            10.0      11.0
+*  Aluminium front plate: *
+ASSIGNMAT 10.0      10.0
+STEPSIZE            0.666     10.0
+EMFCUT    +1.000E-03+0.020E-03          8.0
+DELTARAY   0.0001                       10.0
+*  WLS: *
+ASSIGNMAT 25.0      6.0       9.0
+STEPSIZE            0.5       6.0       9.0
+EMFCUT    -0.100E-03+0.010E-03          6.0       9.0
+DELTARAY   0.00005                      25.0
+*  Lead 1st and last EM layers: *
+ASSIGNMAT 22.0      16.0      17.0
+STEPSIZE            0.035     16.0      17.0
+EMFCUT    -0.100E-03+0.010E-03          16.0      17.0
+DELTARAY   0.00005                      22.0
+*  Lead 1st and last HAD layers: *
+ASSIGNMAT 22.0      30.0      31.0
+STEPSIZE            0.035     30.0      31.0
+EMFCUT    -0.100E-03+0.010E-03          30.0      31.0
+DELTARAY   0.00005                      22.0
+*  Lead 1st and last HAD last layer: *
+ASSIGNMAT 22.0      34.0      35.0
+STEPSIZE            0.035     34.0      35.0
+EMFCUT    -0.100E-03+0.010E-03          34.0      35.0
+DELTARAY   0.00005                      22.0
+*  Lead median EM layers: *
+ASSIGNMAT 21.0      15.0
+STEPSIZE            0.25      15.0
+EMFCUT    +1.000E-03+0.020E-03          15.0
+DELTARAY   0.0002                       21.0
+*  Lead median HAD layers: *
+ASSIGNMAT 21.0      29.0
+STEPSIZE            0.25      29.0
+EMFCUT    +1.000E-03+0.020E-03          29.0
+DELTARAY   0.0002                       21.0
+*  Lead median HAD last layer: *
+ASSIGNMAT 21.0      33.0
+STEPSIZE            0.25      33.0
+EMFCUT    +1.000E-03+0.020E-03          33.0
+DELTARAY   0.0002                       21.0
+* EM Air gaps: *
+ASSIGNMAT 24.0      18.0
+STEPSIZE            0.025     18.0
+EMFCUT    -0.100E-03+0.010E-03          18.0
+DELTARAY   0.00005                      24.0
+* HAD Air gaps: *
+ASSIGNMAT 24.0      36.0
+STEPSIZE            0.025     36.0
+EMFCUT    -0.100E-03+0.010E-03          36.0
+DELTARAY   0.00005                      24.0
+*  PVC EM rods: *
+ASSIGNMAT 23.0      22.0      23.0
+STEPSIZE            0.05      22.0      23.0
+EMFCUT    -0.100E-03+0.010E-03          22.0      23.0
+*  PVC HAD rods: *
+ASSIGNMAT 23.0      40.0      41.0
+STEPSIZE            0.05      40.0      41.0
+EMFCUT    -0.100E-03+0.010E-03          40.0      41.0
+*  Al EM spacers: *
+ASSIGNMAT 10.0      24.0      25.0
+STEPSIZE            1.0       24.0      25.0
+EMFCUT    -0.250E-03+0.010E-03          24.0      25.0
+*  Al HAD spacers: *
+ASSIGNMAT 10.0      42.0      43.0
+STEPSIZE            1.0       42.0      43.0
+EMFCUT    -0.250E-03+0.010E-03          42.0      43.0
+*  SCSN38 EM towers: *
+ASSIGNMAT 23.0      19.0      21.0
+STEPSIZE            0.05      19.0      21.0
+EMFCUT    -0.100E-03+0.010E-03          19.0      21.0
+DELTARAY   0.00001            1.05      23.0
+*  SCSN38 HAD towers: *
+ASSIGNMAT 23.0      37.0      39.0
+STEPSIZE            0.05      37.0      39.0
+EMFCUT    -0.100E-03+0.010E-03          37.0      39.0
+DELTARAY   0.00001            1.05      23.0
+*
+MULSOPT             -3.0      -2.0      1.0       50.0
+* *** Switch on accurate treatment of photoelectric interactions and X-ray
+* *** production
+*23456789 *23456789 *23456789 *23456789 *23456789 *23456789 *23456789 *23456789
+EMFFLUO   1.0       1.0       44.0
+* *** Switch on Rayleigh (coherent) scattering for all regions
+EMFRAY    1.0       1.0       44.0
+*  Hadron and muon thresholds: *
+PART-THR  0.075     1.0       39.0                1.0
+PART-THR  -0.05     9.0       9.0
+PART-THR  -0.0196   8.0       8.0       1.0
+*23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789
+EMFFIX    10.0      0.1       21.0      0.1       22.0      0.1
+EMFFIX    23.0      0.1       24.0      0.1       25.0      0.1
+SCORE     208.0     211.0     210.0
+*DISCARD   3.0       4.0       7.0      
+EXTRAWEI                                                    1.0
+EVENTDAT  -54.0                                                       T36AP10EV
+*23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789
+*EVENTBIN  +8.0      208.0     -26.0     438.0     0.1       1.0       200nsquenc
+*EVENTBIN  421.0     -.1       -1.0      1.0       1.        1.0          &
+*EVENTBIN  +8.0      208.0     -26.0     438.0     0.1       1.0       200nsnoq
+*EVENTBIN  421.0     -.1       -1.0      1.0       1.        1.0          &
+*EVENTBIN  +8.0      208.0     -26.0     438.0     0.1       1.0       50nsquench
+*EVENTBIN  421.0     -.1       -1.0      1.0       1.        1.0          &
+*EVENTBIN  +8.0      208.0     -26.0     438.0     0.1       1.0       2 usquench
+*EVENTBIN  421.0     -.1       -1.0      1.0       1.        1.0          &
+*EVENTBIN  +8.0      208.0     -26.0     438.0     0.1       1.0       2 usnoq
+*EVENTBIN  421.0     -.1       -1.0      1.0       1.        1.0          &
+*EVENTBIN  +8.0      208.0     -26.0     438.0     0.1       1.0       2 usphesta
+*EVENTBIN  421.0     -.1       -1.0      1.0       1.        1.0          &
+* output on formatted file
+EVENTBIN  +8.0      208.0     28.0      438.      0.1       1.0       prova
+EVENTBIN  421.0     -.1       -1.0      1.0       1.        1.0          &
+*  Define time gates and quenching factors for the detectors *
+TCQUENCH    200.E-09 0.0085             1.0       1.0
+TCQUENCH    200.E-09                    2.0       2.0
+TCQUENCH     50.E-09 0.0085   0.0       3.0       3.0
+TCQUENCH             0.0085   0.0       4.0       4.0
+TCQUENCH                                5.0       5.0
+TCQUENCH             0.0085   0.0       6.0       6.0
+*
+*OUTLEVEL        1.0       7.0                                     1.0
+RANDOMIZ  1.0
+*23456789 *23456789 *23456789 *23456789 *23456789 *23456789 *23456789 *23456789
+START       1.0      99999999. 4000.0     0.0       1.0
+STOP
diff --git a/Flugg/examples/fluka/alaual.inp b/Flugg/examples/fluka/alaual.inp
new file mode 100644 (file)
index 0000000..df81847
--- /dev/null
@@ -0,0 +1,67 @@
+* $Id$
+* Flugg tag $Name$
+*
+GLOBAL                    0.0      -1.0
+TITLE
+ALAUAL: 1 MeV e- on Au,0th Born,Ae,Ap=10,Ue,Up=10keV,fudgem=0,mcs,single=1
+DEFAULTS                                                              EM-CASCA PRECISION
+*needs wa_50.pemf
+*23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 
+BEAM      -0.001                         0.0       0.0                ELECTRON
+BEAMPOS                       -5.0
+*
+*
+STEPSIZE            10.00      1.0       3.0
+MULSOPT             -0.0      +0.0       1.0       50.0
+*MULSOPT   0.0       +0.0      +0.0       1.0       1.0      1.0      GLOBAL
+*MULSOPT              0.0       0.0       1.0       1.0       100000.0GLOBEMF
+SCORE     208.0
+OUTLEVEL  1.0       7.0                                     1.0                                                    
+*23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 
+*
+*
+USRBIN    -11.0     208.0      +95.0    0.3                 0.0168333 1st Al
+USRBIN    +0.0                +0.0      30.0                20.0         &
+USRBIN    -11.0     208.0      +95.0    0.3                 0.0190079 Au
+USRBIN    +0.0                0.0168333 30.0                20.0         &
+USRBIN    -11.0     208.0      +95.0    0.3                 0.1718154 2nd Al
+USRBIN    +0.0                0.0190079 30.0                120.0        &
+*23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 
+DUMPTHEM  101.                                                        MGDRAW
+RANDOMIZ  1.0
+GEOBEGIN                                                              COMBINAT
+GEOEND
+MATERIAL  13.0      26.982    2.70                                    ALUMINUB
+MATERIAL  79.0      196.97    19.3                                    GOLD
+ASSIGNMAT 26.0      3.0       5.0       2.0
+ASSIGNMAT 27.0      4.0       4.0              
+ASSIGNMAT 2.0       2.0       6.0       4.0
+ASSIGNMAT 1.0       1.0       7.0       6.0
+SCORE     208.0
+OUTLEVEL  1.0       7.0                                     1.0                                                    
+EMFFIX    26.0      0.08      27.0      0.08
+EMFFLUO   1.0       26.0      27.0
+*23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 
+*USRBDX    111.0       3.       -197.0   1.0       2.0       1.0       AlAuAngdis
+*USRBDX      1.02E-03    1.E-05 1.0                          250.0       &
+*USRBDX    111.0       3.       -197.0   2.0       3.0       1.0       AuAlAngdis
+*USRBDX      1.02E-03    1.E-05 1.0                          250.0       &
+*
+*USRBIN    -11.0     213.0     -196.0    0.3                 0.0168333 1st Al
+*USRBIN    +0.0                +0.0      30.0                20.0         &
+*USRBIN    -11.0     213.0     -196.0    0.3                 0.0190079 Au
+*USRBIN    +0.0                0.0168333 30.0                20.0         &
+*USRBIN    -11.0     213.0     -196.0    0.3                 0.1718154 2nd Al
+*USRBIN    +0.0                0.0190079 30.0                120.0        &
+*
+USRBIN    -11.0     208.0      +95.0    0.3                 0.0168333 1st Al
+USRBIN    +0.0                +0.0      30.0                20.0         &
+USRBIN    -11.0     208.0      +95.0    0.3                 0.0190079 Au
+USRBIN    +0.0                0.0168333 30.0                20.0         &
+USRBIN    -11.0     208.0      +95.0    0.3                 0.1718154 2nd Al
+USRBIN    +0.0                0.0190079 30.0                120.0        &
+*23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 
+DUMPTHEM  101.                                                        MGDRAW
+RANDOMIZ  1.0
+START     100.0     999999999. 3000.
+STOP
diff --git a/Flugg/examples/fluka/arlw.pemf b/Flugg/examples/fluka/arlw.pemf
new file mode 100644 (file)
index 0000000..19452d7
--- /dev/null
@@ -0,0 +1,6411 @@
+ MEDIUM=COPPER                  ,STERNCID=CU                      
+ ELEM,RHO= 8.9600E+00,NE= 1
+ ASYM=CU,Z=29.,A=   63.540,PZ= 1.00000E+00,RHOZ= 6.35400E+01
+    1.43545E+00   1.01100E+00   1.00000E-01   1.00015E+04   1.00010E+04
+ *** NEW PEGS4 ***
+  0.610999064504728        1.00000000000000        841.000000000000     
+   875.731305716962        88244456.3125273     
+ T T T T
+    15   32   91  105   17    0  561  561 1122   -1  593  594 1188
+  0.500000000000000        1.77827941003892        1.43545098353905     
+  0.999000000000000       0.995000000000000       0.990000000000000     
+  0.980000000000000       0.970000000000000       0.950000000000000     
+  0.900000000000000       0.800000000000000       0.700000000000000     
+  0.600000000000000       0.500000000000000       0.400000000000000     
+  0.300000000000000       0.200000000000000     
+  0.849189398442293       3.417046638488989E-004  1.374659777482253E-003
+  1.736294554051905E-003  3.534837070399302E-003  3.621849464053674E-003
+  7.528103104656042E-003  2.070716451928813E-002  5.136536987858970E-002
+  6.887449456940599E-002  9.365060297461308E-002  0.129739806221673     
+  0.185579882045522       0.281134629598709        1.06355337508085     
+  2.270935646809018E-004  9.147194976861120E-004  1.157983063356273E-003
+  2.366899515169069E-003  2.438485490347939E-003  5.110037500969093E-003
+  1.433604474061183E-002  3.698763001280055E-002  5.161252150260809E-002
+  7.227761792431542E-002  0.102600936843072       0.149883435358615     
+  0.230916863908821       0.392723106157794        1.48329121175571     
+  1.469710958807230E-004  5.938007407741466E-004  7.558374401992331E-004
+  1.558806111600911E-003  1.624948966410559E-003  3.466253179612586E-003
+  1.010488221242234E-002  2.763408133904894E-002  4.041105703872714E-002
+  5.839336918950563E-002  8.486739273520906E-002  0.126270253828059     
+  0.197372071296751       0.339649517555693       0.590441969025817     
+   2.09846182070850       1.156266955472039E-004  4.701551746537645E-004
+  6.050318664446227E-004  1.268181102212379E-003  1.347400984974657E-003
+  2.952364349625539E-003  9.021889553170867E-003  2.595796976106264E-002
+  3.896840856051469E-002  5.688455699831263E-002  8.289070665439385E-002
+  0.123097794308485       0.191846026324652       0.328997313945778     
+  0.569177646128132       0.664860748300540        2.90250404457438     
+  1.024442140764854E-004  4.200325530249554E-004  5.487971869190434E-004
+  1.182527691478965E-003  1.303459112214553E-003  2.982421315261351E-003
+  9.632893329399128E-003  2.885535040422161E-002  4.347933072915289E-002
+  6.257031851422155E-002  8.977610264484445E-002  0.131641405028440     
+  0.202512753195387       0.341933028052638       0.580733569068956     
+  0.669874645683716       0.734954965850430        3.82383785729629     
+  9.539528345949113E-005  3.973794698778879E-004  5.336263600625372E-004
+  1.203617129944837E-003  1.399417040810306E-003  3.361125867683427E-003
+  1.140249954689701E-002  3.490381241942736E-002  5.171072946134427E-002
+  7.250725150214520E-002  0.101444074372393       0.145463178432099     
+  0.219933505076904       0.365407394835647       0.606927107579612     
+  0.685855036999265       0.743097672487427       0.778195033431291     
+   4.77078281126595       9.098741816799116E-005  3.932703750371220E-004
+  5.570433717748470E-004  1.330691792530365E-003  1.613606852183603E-003
+  4.019457247313805E-003  1.414693786039926E-002  4.332698104940064E-002
+  6.217543595317791E-002  8.433329127362829E-002  0.114913402414051     
+  0.161182361416185       0.238375129378176       0.386787930916409     
+  0.627249512043885       0.697399685659242       0.749811551972454     
+  0.782190517791951       0.800885016479982        5.71961570807765     
+  8.858137606242726E-005  4.023067724507411E-004  6.084477588358875E-004
+  1.554600823328526E-003  1.979305088229608E-003  5.105901654503405E-003
+  1.818621125588336E-002  5.364325140857994E-002  7.347930997717561E-002
+  9.648062464785716E-002  0.127801939636711       0.176067456366905     
+  0.254364137975870       0.402410660389435       0.641696222430587     
+  0.705896105973484       0.755405699808674       0.786241076180617     
+  0.804084885271972       0.814118983280487        6.61930486947425     
+  8.838898277956635E-005  4.390136663249890E-004  7.282738275729352E-004
+  1.978905302768468E-003  2.571960964546340E-003  6.601444018286727E-003
+  2.287768178938359E-002  6.464564272526702E-002  8.497337931600504E-002
+  0.107918207372754       0.139219818698239       0.187260403588952     
+  0.265518771246845       0.413396093401334       0.649583354019129     
+  0.708169336244291       0.754517857579366       0.783572239418159     
+  0.800414442215355       0.809888462359895       0.814941192736994     
+   7.50225392331694       9.031014303484156E-005  5.045983680864370E-004
+  9.196521038862946E-004  2.614268734673931E-003  3.412625538025753E-003
+  8.587280608058089E-003  2.834139914104486E-002  7.540567147530604E-002
+  9.519395072986815E-002  0.117479516066840       0.147945319876034     
+  0.194355307395947       0.272107360759077       0.420785873097472     
+  0.654402350683423       0.709111925738535       0.753959647669214     
+  0.782311049717823       0.798783804245821       0.808056373841334     
+  0.813002427567950       0.814883209815486        8.36718336617754     
+  9.452390588905237E-005  6.110814692623195E-004  1.209346430451149E-003
+  3.488571170722645E-003  4.453330650471174E-003  1.079895191281690E-002
+  3.381797859893438E-002  8.529656933205576E-002  0.103432460685645     
+  0.124407986521690       0.154273048644801       0.200126603576783     
+  0.277210312358769       0.425337699767445       0.658281114909872     
+  0.710989573809871       0.754128417784140       0.781394885458524     
+  0.797235547234056       0.806150274563570       0.810897547878908     
+  0.812676881139201       0.810870658373656        9.19908185067994     
+  1.048200102744689E-004  8.067235225175920E-004  1.626133636664516E-003
+  4.526025299438454E-003  5.572441479429311E-003  1.300805397702403E-002
+  3.883064217426056E-002  9.305928973257950E-002  0.109332998245010     
+  0.129343538887382       0.158528853761778       0.204038061129440     
+  0.281092109206013       0.429503620551089       0.662427627471569     
+  0.712965357901367       0.753954236645052       0.779805366313455     
+  0.794814339234128       0.803254614789722       0.807736895703925     
+  0.809375153353538       0.807515286066143       0.797859661588136     
+   9.93908024490647       1.226832380132651E-004  1.088030233953903E-003
+  2.138778965315737E-003  5.647382460098194E-003  6.673068662572995E-003
+  1.502082981503695E-002  4.295712718383193E-002  9.873141717171409E-002
+  0.113266446192085       0.132563551105796       0.161242821464703     
+  0.206530288591658       0.283526122483506       0.432099514483037     
+  0.665187455597803       0.713419005896692       0.751133523853253     
+  0.774707974950275       0.788359641168807       0.796023992597159     
+  0.800071112865452       0.801475457961209       0.799519560628746     
+  0.789594353528373       0.757980103807373        10.5337616466434     
+  1.499163718521550E-004  1.436781644247437E-003  2.693630017065568E-003
+  6.752073155552322E-003  7.653704084451293E-003  1.667462103567931E-002
+  4.599237362648133E-002  0.102446762677853       0.115657265742125     
+  0.134393374884743       0.162794128378716       0.207915640300753     
+  0.284758539495507       0.433124650947478       0.666459976144736     
+  0.712718499921479       0.746555046646125       0.767346072297662     
+  0.779325567490272       0.786032008313119       0.789541385550467     
+  0.790656041449228       0.788204919333822       0.777376201413177     
+  0.745221770672704       0.661880695048058        10.9596728105599     
+  1.907219004113227E-004  1.855037040574427E-003  3.228075626018395E-003
+  7.692816648890472E-003  8.451734181505454E-003  1.792219893976180E-002
+  4.806265340016003E-002  0.104640407772906       0.117170004523048     
+  0.135543355137737       0.163757455987703       0.208764330546628     
+  0.285540480860605       0.433942449814374       0.667603502676306     
+  0.712391699603643       0.743521745273253       0.762378840128340     
+  0.773197445577125       0.779239938139424       0.782375401199902     
+  0.782901884506977       0.779377413045056       0.767195624474139     
+  0.733068585784848       0.651279542320367       0.488379465450155     
+   11.1737840435805       2.447712800070303E-004  2.300772494849215E-003
+  3.719553831393843E-003  8.453169928106267E-003  9.007614531561878E-003
+  1.873356407548842E-002  4.935618207993655E-002  0.105957539711240     
+  0.118063763687667       0.136222697600904       0.164309684542900     
+  0.209273687013396       0.285964630366082       0.434388263539496     
+  0.668222900178746       0.711929955747499       0.741332729780717     
+  0.758970603000464       0.769060413659503       0.774684801668762     
+  0.777200940059667       0.776606624096164       0.771481898520790     
+  0.756992837989485       0.723825394103351       0.641533400381960     
+  0.481089316709196       0.274856333001130        11.2165567530948     
+  3.094275639678021E-004  2.728216165337644E-003  4.127488086111215E-003
+  9.014646380617381E-003  9.386532417820779E-003  1.927353694566818E-002
+  5.010702468902749E-002  0.106851361298563       0.118595500735770     
+  0.136559112832996       0.164630342322504       0.209572764443509     
+  0.286226828325535       0.434491947264056       0.668289646179944     
+  0.711625660681953       0.740105199151283       0.757070494696247     
+  0.766754628071282       0.771767942928041       0.773156054273353     
+  0.770896653163239       0.763400913023420       0.749304912019702     
+  0.711564230636179       0.624133451063270       0.468034413015250     
+  0.271078628592389       0.117499196127710        11.1346267996325     
+  3.816070957974347E-004  3.099520961025463E-003  4.426896986350157E-003
+  9.378881218470718E-003  9.629007451596366E-003  1.962096732399266E-002
+  5.049379726534314E-002  0.107412968956004       0.118887809240190     
+  0.136696859535308       0.164802426310120       0.209723734562842     
+  0.286384318599569       0.434426340278942       0.668110988633480     
+  0.711467907755606       0.739441161918315       0.756014218117045     
+  0.765094368703316       0.768969361151186       0.768675512692838     
+  0.764024898089184       0.756697310876820       0.736112434188013     
+  0.686531493639630       0.592010121085243       0.443931619806827     
+  0.263577839196415       0.116481304170183       4.212112382279570E-002
+   10.9291189794085       4.564679333627508E-004  3.394468373902054E-003
+  4.623522841367416E-003  9.595481631978420E-003  9.764464929756925E-003
+  1.980085009046782E-002  5.076218409998651E-002  0.107581503109898     
+  0.119029062561486       0.136880617522192       0.164855159260860     
+  0.209746296946316       0.286340176697661       0.434467895304547     
+  0.668259481401640       0.710943892294436       0.738102965922842     
+  0.753776711573978       0.761521552500092       0.763617094710255     
+  0.760925817252490       0.756283068417209       0.741807880405808     
+  0.706541255716384       0.641825010334459       0.542188734365535     
+  0.406562127905258       0.249168268246134       0.114620648144962     
+  4.180075564615672E-002  1.387556326711029E-002   10.6667143293398     
+  5.959822195272089E-004  3.606988834220608E-003  4.771598480201761E-003
+  9.771082091731871E-003  9.887939640181486E-003  1.999955323176958E-002
+  5.111114971480737E-002  0.108197208987232       0.119637363008827     
+  0.137570266808845       0.165632130426384       0.210675440007075     
+  0.287640268815787       0.436530588985946       0.671567379088255     
+  0.714046646382775       0.740119814711873       0.754190876646184     
+  0.760001850956293       0.759521494955472       0.756702709462926     
+  0.744697646632946       0.714408724151974       0.660459115541665     
+  0.582233337329666       0.481649189876793       0.361162626317997     
+  0.228911384990201       0.111467420190292       4.161215791750126E-002
+  1.388025313347238E-002  4.454139800966516E-003
+ -0.494305802109391      -0.470511152532346      -0.461224865905246     
+ -0.489597608488607      -0.516281952519905      -0.719332305250697     
+ -0.726556871204797      -0.121814774109748      -1.854596302268764E-002
+  5.542869250736178E-002  6.162763639126848E-002  4.196080083416576E-002
+  5.690648903709493E-002  0.100218602630435      -0.718323873230665     
+ -0.728510526242299      -0.722281095929796      -0.817658064595345     
+ -0.990484486086475       -1.15304240154705      -0.682105770761454     
+ -8.450484669191266E-002  1.003126414693042E-002  4.709420716816049E-002
+  5.447530041339482E-002  5.232437182123938E-002  5.463578176089638E-002
+  8.461731874405207E-002  0.135856742320561       -1.78361163837314     
+  -2.05424263799056       -2.22864887624572       -1.90265537255494     
+  -1.93583687628890       -1.44734443755627      -0.242222565396714     
+  6.251128481121931E-002  4.769507159033101E-002  5.255718693963455E-002
+  5.870385486061108E-002  5.806317820591803E-002  5.746718442494692E-002
+  7.461747554490936E-002  0.126726201751702       0.142926314653302     
+  0.180319339654099       0.225769162967997       0.538681372708018     
+  0.176658896778531       -1.09895135566803      -0.553448789338112     
+  0.310224921580050       0.287438753974524       0.138448352372563     
+  0.105520285542344       9.420271547399407E-002  6.975795680198912E-002
+  6.378713666986446E-002  8.013498382205995E-002  0.122098867577380     
+  0.137488805328502       0.160045087064814       -2.83508281941452     
+  -2.83643536749677       -3.79785144265855       -2.34755381299702     
+ -8.946638691751330E-002  0.893235325875784       0.936656249276755     
+  0.595661709387612       0.316834481526184       0.163437575542153     
+  0.106437398689035       9.207915069893489E-002  9.021194915880107E-002
+  9.941914333319306E-002  0.119468617725282       0.129976737754960     
+  0.156743234568082       0.136522377928976       -3.73846579357945     
+  -3.69340845555231       -5.38151989232416       -2.66389424942828     
+   1.34471763558930        2.23243855889524        1.39492669759537     
+  0.937267710235826       0.490819168947819       0.236876576840910     
+  0.129774951954739       8.300000998659308E-002  0.101333887491919     
+  0.134967555355432       0.131518985274160       0.127328940628901     
+  0.150170431039058       0.129936170355823       0.105429333458434     
+   1.76273740612081        1.74134437561071        1.50870920419975     
+   1.70909653529404        2.37465947269156        2.37812944586064     
+   1.83588857555202        1.28000396780873       0.654401782105346     
+  0.265209233657569       0.136932021921130       0.109359519934209     
+  0.125204415608367       0.147814161926591       0.124532076110145     
+  0.115992304621932       0.144601915688082       0.125652115887888     
+  0.101908576494529       8.210886177505250E-002   3.07837197551526     
+   3.12230663025336        3.05983246896855        3.12553138401831     
+   3.25758736971195        3.11178499258743        2.56796657993217     
+   1.60807687922357       0.724439683860962       0.296387804578199     
+  6.111328082772458E-002  0.176132325517374       0.139543812573732     
+  0.126499164353643       0.113044566679011       0.105495414710891     
+  0.140624708869682       0.122933275023937       9.982938388367715E-002
+  8.043716702811693E-002  7.013782720035837E-002   7.63445835087088     
+   7.50343385504622        7.15917446212399        6.74176595146814     
+   5.35678116540714        4.07839226680043        2.94499173854266     
+   1.78976456717262       0.815578537343986       0.289599811130219     
+  3.635040163003180E-002  0.147564435400332       0.126111585094187     
+  0.120857624914477       0.100555447679907       9.688164641557115E-002
+  0.136872836101129       0.120197684532868       9.763521186682117E-002
+  7.867639789962702E-002  6.867806766567207E-002  7.868446321544685E-002
+   11.6456463389307        11.3807941577023        10.5360657694945     
+   9.90969494835700        7.46041664100540        5.23815220134980     
+   3.43903624559408        1.85414598847768       0.832168629027338     
+  0.271854549748802       1.781338087987258E-003  1.084016043627587E-003
+  8.546565879954672E-002  0.131883370073553       8.766643837738650E-002
+  8.655442747194717E-002  0.134543127881904       0.118981924999175     
+  9.677825104510007E-002  7.801464235089235E-002  6.820002749392100E-002
+  7.803542552851178E-002  0.122859695233419        16.5573089460091     
+   16.2051066992038        14.6938713706297        13.9214481456702     
+   9.62443517166695        6.06855123636534        3.61351767088383     
+   1.89927342266403       0.790924974014026       3.965986939006751E-002
+ -0.173176484956848      -8.697317010396692E-002  4.897517393380278E-002
+  0.117333690661442       8.368400997490091E-002  8.609971876795552E-002
+  0.132766561483349       0.117263688334628       9.528008985058771E-002
+  7.682835040298698E-002  6.730111153458301E-002  7.737751530781513E-002
+  0.122187908622631       0.221297266386429        36.8431865732043     
+   32.6017654592268        21.7786446860927        16.1684666790132     
+   11.1474774101385        6.33054133339316        3.76622388242660     
+   1.84461940763767       0.640506925302072      -3.552366771802097E-002
+ -7.232830512118751E-002 -0.150477706561463       2.848600685821762E-002
+  0.114645777621235       8.644018087215975E-002  8.734892867599889E-002
+  0.130661156362011       0.114999345838127       9.337631717207133E-002
+  7.524188159656728E-002  6.615377367745198E-002  7.668571461632470E-002
+  0.121707825560116       0.220659663777446      -0.250542014608208     
+   64.6878584883385        50.9029858407569        27.6937952402876     
+   17.9846686006653        12.0325451829444        6.37142121890582     
+   3.72949054725140        1.70090742716229       0.364761257527520     
+  5.865019289760022E-002 -2.289655329982688E-002 -0.116992398327483     
+  1.296541498229797E-002  0.113397169367209       9.737170725761535E-002
+  9.459650831394656E-002  0.127896001867479       0.111374375521172     
+  9.012231198275890E-002  7.261374254520794E-002  6.430585096740292E-002
+  7.570384167959718E-002  0.121251573593287      -0.173397564272414     
+ -0.241897438659797      -0.277561839515280        99.2309413761823     
+   68.3362710721001        31.5108601038243        19.9616924080261     
+   12.3224841555360        6.15342152787925        3.48547905347723     
+   1.47381551273788       0.136735068296946       0.110402032444553     
+  6.771806409013054E-004 -9.949998568753195E-002  3.361418654800277E-003
+  0.108522172516394       0.111915424416138       0.107294169168757     
+  0.124772692447458       0.106662917671979       8.580012121904380E-002
+  6.912760450699351E-002  6.190276056788604E-002  7.450232321864664E-002
+  0.137039396524594      -0.168985630984819      -0.240702985193956     
+ -0.271271756276407      -0.147163423312249        143.368848395971     
+   86.7414402153656        33.8075925386188        19.6258844142982     
+   12.7271873538992        5.45425418826646        3.19583147230973     
+   1.09999175780579      -0.151471225148918       0.138450152249820     
+  1.601759460205103E-002 -8.903071211515096E-002 -6.023469867846961E-003
+  0.107601626303331       0.122338140150097       0.115762886142086     
+  0.122358233678549       0.103071708147245       8.249458464262924E-002
+  6.659279848327361E-002  6.010942169249330E-002  9.573252915383225E-002
+  0.136855331933094      -0.173420975463381      -0.223465138934253     
+ -0.273932290026083      -0.147597002644987       0.204302762094146     
+   193.613162158656        101.376847528222        34.5066656556216     
+   19.4508384024496        11.9646639626493        4.27626748467415     
+   2.85304456722490      -0.374330442902627      -0.166253411907084     
+  0.155316649684429       2.504160181843863E-002 -8.528784273579662E-002
+ -1.735053143050077E-002  0.108027001013475       0.129192313638637     
+  0.120552090423606       0.120674381931539       0.100648972494923     
+  8.038888498415039E-002  6.485640180272426E-002  8.388542594285082E-002
+  9.687210261125938E-002 -0.127755688757693      -0.140547750019623     
+ -0.239442105277533      -0.265596814477817      -0.145963634651575     
+  0.206599849720181       0.578683900352557        249.267296692751     
+   111.043721316724        33.6844971182258        18.6698307176740     
+   10.2235145206149        3.65296673862650        2.27485011140157     
+  6.874068427431788E-002 -0.164186640778939       0.166042189057088     
+  2.716307097768371E-002 -8.168309359065400E-002 -1.595102296173622E-002
+  0.105377650906351       0.131768711641732       0.124093622660808     
+  0.119836857732318       9.929398958918192E-002  7.912782628590995E-002
+  8.702612447028175E-002  8.528380392817894E-002  0.125055988858081     
+ -7.032434231189182E-002 -0.179530321849191      -0.236333055182177     
+ -0.238824583943203      -0.135567523712235       0.169457793922654     
+  0.589437924738425       0.833944918608770        312.442981979559     
+   115.203485502087        31.3034727182859        16.7672710639169     
+   8.12326620786712        3.83120921101380      -0.990250879374859     
+  1.116514523395962E-002 -0.156035841154398       0.171667067099937     
+  2.625865436329348E-002 -7.841813696455786E-002 -6.898829095440717E-003
+  0.101262369882722       0.132251297780601       0.127062861386335     
+  0.119470627023733       9.848408317339995E-002  9.845714983924851E-002
+  8.816211436529688E-002  0.115603496768573       2.372771486428774E-002
+ -0.142035336580027      -0.193130175119275      -0.210623533742721     
+ -0.196708345147935      -0.116316169251848       0.126656992001878     
+  0.578573475063938       0.820831885966650       0.946950153903023     
+   386.576694827933        113.429332903571        27.2580233810707     
+   13.9405706423064        6.86616754473051       -2.35619325200601     
+ -0.697502823293261      -3.945027080058403E-002 -0.168205070393473     
+  0.174889574622271       3.293538099679617E-002 -7.914275800703328E-002
+ -1.731591766315214E-002  0.104081023690476       0.136322813344965     
+  0.128618298775218       0.118563028920428       0.114622121663888     
+  9.833876416058843E-002  0.117016050176856       1.636222013311262E-002
+ -0.127382466774912      -0.170300076073484      -0.177894958491776     
+ -0.166550786683758      -0.145506037232891      -8.980468804399233E-002
+  8.776288391179135E-002  0.489400274046596       0.807496473635281     
+  0.936230268167007       0.982723477597790        378.241376538593     
+   100.815901249414        23.0082507716080        11.6570757410691     
+   5.21819917404764        2.44735631163897       0.191343777743010     
+ -4.903536712791148E-002 -0.171740214272502       0.174991598115037     
+  3.525221669275762E-002 -7.587930083703887E-002 -1.683031115807512E-002
+  0.105051439463215       0.139910618058070       0.131917646001462     
+  0.133170678291659       0.113079886985310       0.124098176838317     
+  8.757321836153823E-003  0.145782912183915      -0.163050980201789     
+ -0.162601833820956      -0.139733540270987      -0.112464513611217     
+ -9.171772409911902E-002 -5.860374914094959E-002  5.983160799826208E-002
+  0.383740623131072       0.820528828800634       0.931520267848478     
+  0.982722975501078       0.994487574375447     
+   1.02628030961715        1.03572933531917        1.04785638640801     
+   1.07318365780219        1.10007642110578        1.15906849135782     
+   1.33126099553276        1.77497042693800        2.39298793623706     
+   3.28127946932280        4.59776177598211        6.72296859840004     
+   10.5668625846004        18.9281778670557       0.453560188258482     
+  0.454814831685763       0.459917146897453       0.466489567551909     
+  0.480359255897494       0.495135028200734       0.527331376020316     
+  0.622779422630411       0.870351352228302        1.21384962595784     
+   1.70859591736945        2.44960523728416        3.65130701525833     
+   5.82603440232494        10.5967701280954        22.6543628558898     
+  0.164966921723971       0.165625327801312       0.168302783473291     
+  0.171743428819740       0.178953230325109       0.186626851656812     
+  0.203512653348098       0.252519787665081       0.375252101417614     
+  0.543245389740821       0.785708605889912        1.15007859057137     
+   1.74245897930740        2.81653625875180        5.18052986239215     
+   11.2105920053246        22.6051223134551       7.288791507291369E-002
+  7.336976261174800E-002  7.530928558068856E-002  7.775586933185522E-002
+  8.267759771656265E-002  8.780176969021522E-002  9.908257730495798E-002
+  0.129711705336532       0.201530650650596       0.296379258789887     
+  0.431453821211419       0.631381828248050       0.953900382930376     
+   1.53730288714519        2.81663683236063        6.06540803293764     
+   12.2323344924165        23.4179582181358       3.625519024572351E-002
+  3.661511941258479E-002  3.808716841657836E-002  4.000234567263755E-002
+  4.416926894521190E-002  4.857085884022008E-002  5.751097460596717E-002
+  7.956845040426089E-002  0.126826502756179       0.184982979120863     
+  0.264726196576797       0.382166210333704       0.570345688008142     
+  0.906540752446142        1.63315194862084        3.45237950878987     
+   6.90760777247858        13.1764299600799        24.3630377519607     
+  1.892415131134013E-002  1.923457003896833E-002  2.051331801361547E-002
+  2.219707713148001E-002  2.600890878299288E-002  2.996050146100037E-002
+  3.715921895444897E-002  5.386670472588886E-002  8.587565135259928E-002
+  0.122198752388007       0.170433756221695       0.240138192116325     
+  0.351199093096838       0.549738644064802       0.972848560946663     
+   2.00581143594605        3.94781556205136        7.46102609198211     
+   13.7271114602293        24.8741810009724       1.006766600840621E-002
+  1.039859855581764E-002  1.171460812604292E-002  1.334313134482623E-002
+  1.657690730946941E-002  1.969538181805881E-002  2.542011403748115E-002
+  3.790642979727399E-002  5.915227809559716E-002  8.123459975278047E-002
+  0.109957288502795       0.151325367321192       0.216661093520064     
+  0.331496130394186       0.572728175857727        1.15409281994616     
+   2.24680637551892        4.22364096817398        7.74947519188266     
+   14.0218398881312        25.1717464879599       5.449031935326175E-003
+  5.755395784263570E-003  6.961337329060755E-003  8.423379660167346E-003
+  1.120899859355198E-002  1.379478244120266E-002  1.838395446912395E-002
+  2.717874940976198E-002  4.010683539088371E-002  5.309394408196858E-002
+  6.978034258716714E-002  9.353825172537299E-002  0.132226168502247     
+  0.196007910561165       0.332419358262716       0.659487218071759     
+   1.27516619306397        2.38955165548796        4.37731065935576     
+   7.91355637941927        14.1998244893436        25.3630989465803     
+  2.986294032347544E-003  3.299828064474898E-003  4.490574112306929E-003
+  5.847178355596403E-003  8.153153861067620E-003  1.009142273370644E-002
+  1.326651770103546E-002  1.890815339616391E-002  2.660901575433134E-002
+  3.393419027322064E-002  4.329600380315657E-002  5.665922552679339E-002
+  7.825849522919258E-002  0.114264620540141       0.190600152512316     
+  0.373354828172741       0.717464158176733        1.34036139966710     
+   2.45145696066793        4.42812086358568        7.94201489305239     
+   14.1822917679636        25.2314790456353       1.654738365174442E-003
+  1.955991544266701E-003  3.065365069144015E-003  4.260179865945153E-003
+  6.098752694506272E-003  7.494759590151635E-003  9.563598212653410E-003
+  1.281635423419653E-002  1.705249024069920E-002  2.107648529860774E-002
+  2.617000330213447E-002  3.351186875635646E-002  4.520854027755988E-002
+  6.575674212841603E-002  0.108557890748526       0.210652370846629     
+  0.403452908241218       0.752775805067930        1.37597932327927     
+   2.48470521147284        4.45569798471265        7.95603443314374     
+   14.1542320812862        25.0293870041599       9.212717671642668E-004
+  1.202637862980467E-003  2.201080476538474E-003  3.200512669255721E-003
+  4.535771986339263E-003  5.428145431205384E-003  6.629131207798660E-003
+  8.399626201774859E-003  1.061382241954353E-002  1.268503095897745E-002
+  1.545460853515760E-002  1.953010727036823E-002  2.603358868145745E-002
+  3.751598044674180E-002  6.153690981203183E-002  0.118962471242990     
+  0.227160927449610       0.423060336618701       0.772509469698665     
+   1.39419321243313        2.49936629792453        4.46209308785537     
+   7.93770760638419        14.0366253819856        24.4376927107242     
+  5.155381987418017E-004  8.048663434315972E-004  1.683652506230009E-003
+  2.385777401193673E-003  3.249556001492471E-003  3.759251845415908E-003
+  4.413028243913369E-003  5.301034445028307E-003  6.385390785207515E-003
+  7.472422043121398E-003  8.971975365045922E-003  1.123290761246483E-002
+  1.488280519150187E-002  2.134749092350524E-002  3.488327910470466E-002
+  6.720900086829987E-002  0.127878613834769       0.237595319450774     
+  0.433270322598770       0.781371506916852        1.40019154759785     
+   2.49918783280148        4.44534030643853        7.86062198612490     
+   13.6862287601452        22.7637077901232       2.889937550598433E-004
+  5.739946485798593E-004  1.277628549747239E-003  1.725647094372254E-003
+  2.227794710701443E-003  2.493261777346559E-003  2.818628225845784E-003
+  3.235666183865906E-003  3.752254877661209E-003  4.326819252615997E-003
+  5.146464612168209E-003  6.406184958768156E-003  8.455085551254616E-003
+  1.209283429399955E-002  1.971306249541293E-002  3.790976874002359E-002
+  7.178397082169330E-002  0.132890209389178       0.241823516853437     
+  0.435598507863246       0.780068281622680        1.39183155753375     
+   2.47518140637059        4.37640881214727        7.61023433112830     
+   12.6559142792022        18.7031846271414       1.621816667027945E-004
+  4.236751737137879E-004  9.279446311453316E-004  1.197670281332155E-003
+  1.460857817351064E-003  1.586181658221620E-003  1.733806223855962E-003
+  1.919832872130996E-003  2.166780441466498E-003  2.472824344582404E-003
+  2.926611425333023E-003  3.631224257266256E-003  4.780457585737200E-003
+  6.823672053880687E-003  1.110285639771495E-002  2.135216477398128E-002
+  4.021628911561038E-002  7.412517158269895E-002  0.134537090680887     
+  0.241988601277924       0.432999312521096       0.772225402710129     
+   1.37295201250248        2.42397696806919        4.21219606417304     
+   6.98826539667547        10.3109157408904        12.0196986725139     
+  9.109708626749603E-005  3.201669642644581E-004  6.469310207842131E-004
+  7.870493664669141E-004  9.202454232290915E-004  9.729229837268646E-004
+  1.036589195126390E-003  1.114761035923955E-003  1.237932277000830E-003
+  1.404573608438075E-003  1.657294133217070E-003  2.051816106786847E-003
+  2.697243943113811E-003  3.845955139970538E-003  6.253416032474429E-003
+  1.202364462075342E-002  2.256098730995579E-002  4.145555627455164E-002
+  7.510361740653050E-002  0.134947108529340       0.241326214717627     
+  0.430250245948474       0.763770910742107        1.34726779154874     
+   2.33321805580351        3.86457583567012        5.70804856944837     
+   6.64845346417834        5.69581409349461       5.121893634368665E-005
+  2.384928438212142E-004  4.313608252454213E-004  4.993733439525764E-004
+  5.580060016807216E-004  5.777601734075651E-004  6.050631710999452E-004
+  6.392028207469376E-004  7.024607049428123E-004  7.946659760347489E-004
+  9.356096264386916E-004  1.157078601295230E-003  1.519893493448731E-003
+  2.165002313926786E-003  3.520068634819039E-003  6.765086909988793E-003
+  1.266297713730843E-002  2.322273552856853E-002  4.202298703872537E-002
+  7.545791642605074E-002  0.134892098903654       0.240115728584909     
+  0.425845293662378       0.748343259103744        1.29498545964159     
+   2.14417217406410        3.15817036578428        3.69142558079176     
+   3.16455702744749        2.13862643244894       2.880646583692442E-005
+  1.714199082710521E-004  2.756186767319492E-004  3.063571904275478E-004
+  3.292906238251384E-004  3.369726460802589E-004  3.477885639376647E-004
+  3.637119409156026E-004  3.974795100962286E-004  4.480969425669003E-004
+  5.272769630013910E-004  6.517972306880800E-004  8.556647504060090E-004
+  1.218328346070395E-003  1.979275293103630E-003  3.804866255303710E-003
+  7.113230750536667E-003  1.303103253489854E-002  2.356517130122146E-002
+  4.229885438912966E-002  7.549681865472709E-002  0.134259491298690     
+  0.237183281119439       0.416627842052052       0.719378849523866     
+   1.17851936648114        1.72266976719615        2.03346642587577     
+   1.76215293455739        1.19689876780424       0.718198412703960     
+  1.619776777419549E-005  1.182296386955726E-004  1.695384054428048E-004
+  1.822504045095869E-004  1.905907695019356E-004  1.940758164873096E-004
+  1.979613441695457E-004  2.058289023361006E-004  2.244251403848445E-004
+  2.521960695378520E-004  2.968504332088356E-004  3.668798509405220E-004
+  4.814119716560596E-004  6.854783351426832E-004  1.112308839778837E-003
+  2.139707425570724E-003  3.997799867910346E-003  7.319202782213715E-003
+  1.323087105394888E-002  2.371171994464270E-002  4.228050244040247E-002
+  7.489420174472702E-002  0.132264637811407       0.231646717596495     
+  0.394175485343282       0.632976544083363       0.914941018265144     
+   1.09593376471096       0.979769958017444       0.669035464694675     
+  0.403099140317204       0.231402115189048       8.638767663991825E-006
+  7.826537487936863E-005  1.011857629531652E-004  1.058867031413109E-004
+  1.090966203181663E-004  1.103601212086103E-004  1.122482355720289E-004
+  1.160662667207323E-004  1.262320877574119E-004  1.421252717577717E-004
+  1.670239880883371E-004  2.063263027432630E-004  2.707571732649823E-004
+  3.853389855605248E-004  6.257573379725212E-004  1.203077108115907E-003
+  2.245147910067375E-003  4.106756982831484E-003  7.409923058826972E-003
+  1.326445248961913E-002  2.355662255341170E-002  4.171134010821154E-002
+  7.342644971037034E-002  0.126548250973767       0.209955977266937     
+  0.328580804350521       0.468939232146495       0.571219212025101     
+  0.535151461759327       0.372248325720426       0.225661242680377     
+  0.129692848652285       7.341553696061404E-002  1.771765698797410E-005
+  4.990314847390114E-005  5.929627969284019E-005  6.106609363657351E-005
+  6.221520584765141E-005  6.280210983471284E-005  6.364763620146623E-005
+  6.568325377127339E-005  7.134388060167624E-005  8.033564682937378E-005
+  9.438626244696898E-005  1.165489665726852E-004  1.529193494251748E-004
+  2.177151024270758E-004  3.535591547286173E-004  6.798873315368561E-004
+  1.267230991778807E-003  2.312510587803473E-003  4.166306781572246E-003
+  7.426604625458251E-003  1.318185199562715E-002  2.326353173903793E-002
+  4.027882535965311E-002  6.755842650446583E-002  0.108618960951261     
+  0.165422206308709       0.233159274936030       0.288751008259468     
+  0.285606227760049       0.208197396896506       0.126826380337919     
+  7.302093871347584E-002  4.133514041149848E-002  2.329335753165929E-002
+  0.454338340939134       0.000000000000000E+000  0.000000000000000E+000
+  1.225724997345843E-007  5.878819436061741E-006  2.744348369898673E-005
+  1.883443277070690E-004  1.778585026215318E-003  1.153007388832872E-002
+  2.496406797711890E-002  4.368944706886852E-002  7.108753940066155E-002
+  0.113819316402540       0.187247521972059       0.687655438706215     
+  0.000000000000000E+000  0.000000000000000E+000  2.269101906358851E-007
+  8.111786799447408E-006  3.296502702501841E-005  2.015794082270257E-004
+  1.702553704161646E-003  1.025875028716568E-002  2.167838142673472E-002
+  3.770344576686584E-002  6.134382528532480E-002  9.854982644095579E-002
+  0.162981296377584       0.293194476285180        1.12904789109976     
+  0.000000000000000E+000  0.000000000000000E+000  6.847719063798405E-007
+  1.591839718571880E-005  5.278480175923643E-005  2.732788236575117E-004
+  1.959652850404258E-003  1.053384711075480E-002  2.119039345920095E-002
+  3.596158088389166E-002  5.769089830030873E-002  9.195158230940953E-002
+  0.151474007182676       0.271858782691193       0.486084479517408     
+   1.75464585856300       0.000000000000000E+000  0.000000000000000E+000
+  3.491079620775931E-006  4.659787702471822E-005  1.192807017580383E-004
+  5.033302969910696E-004  2.947072270051122E-003  1.363047226534540E-002
+  2.534728547122533E-002  4.092522978240750E-002  6.338943111859241E-002
+  9.848864351740867E-002  0.159158296399313       0.280752171859738     
+  0.492530431595802       0.576804124327725        2.55009141717122     
+  0.000000000000000E+000  0.000000000000000E+000  1.429597781360720E-005
+  1.230109610834119E-004  2.578463699144784E-004  9.345076591488992E-004
+  4.706777721004742E-003  1.925487269308500E-002  3.308775270835014E-002
+  5.055497862025570E-002  7.511005388875103E-002  0.113005880249393     
+  0.177764415559948       0.305338306109432       0.521394272103155     
+  0.597804265197520       0.650740181352364        3.47063051708632     
+  0.000000000000000E+000  4.095287945826390E-006  5.439459161184895E-005
+  2.778538621646435E-004  5.052950120322461E-004  1.648558411563540E-003
+  7.459039963611456E-003  2.760256623791963E-002  4.400617051782674E-002
+  6.373857674149448E-002  9.090865696958020E-002  0.132258482996191     
+  0.201729386539692       0.336153364283441       0.558208677495274     
+  0.627281548474685       0.674597783063991       0.704196066637299     
+   4.42740008775642       0.000000000000000E+000  1.507199640858018E-005
+  1.279506394774258E-004  5.444666233800465E-004  8.967683681030750E-004
+  2.721913566722857E-003  1.132409150431756E-002  3.816718178998186E-002
+  5.672502225654719E-002  7.830370656014593E-002  0.107530268296009     
+  0.151318824319883       0.223907031259453       0.363026957906409     
+  0.588849705203748       0.651326220640893       0.694280497679001     
+  0.721155080335782       0.737179328810157        5.38880256075026     
+  0.000000000000000E+000  4.302267438376113E-005  2.556435806515425E-004
+  9.618470063981965E-004  1.478480567811380E-003  4.234937581549939E-003
+  1.628129802371634E-002  5.019526121950420E-002  6.999779630502205E-002
+  9.260062714204402E-002  0.122794649458602       0.167749249028254     
+  0.242122137246685       0.384373291320758       0.612577592870673     
+  0.669867765933785       0.709807056829834       0.734925147475809     
+  0.749939052471243       0.758597704013530        6.32632711814967     
+  0.000000000000000E+000  9.991936315170617E-005  4.517033867322326E-004
+  1.561456463977373E-003  2.270187715654631E-003  6.158336623968500E-003
+  2.197672926621649E-002  6.254285902883219E-002  8.254897114871870E-002
+  0.105111520740798       0.135308870505616       0.180627633606578     
+  0.255968220754331       0.400227615015842       0.629883272009499     
+  0.683015944303759       0.720332058616262       0.743853692453415     
+  0.757925335375425       0.766040257221163       0.770422534549732     
+   7.23129994258481       7.441649815003913E-006  2.259094809428333E-004
+  6.965818876728473E-004  2.338292075966063E-003  3.244485334093290E-003
+  8.359719012065198E-003  2.784322421634309E-002  7.412021637814256E-002
+  9.352411522700985E-002  0.115343241664777       0.145177687351217     
+  0.190614168250260       0.266668815741683       0.412581218339711     
+  0.643813287065858       0.693763089559874       0.728502331922789     
+  0.749543642663918       0.761618468040735       0.768370695194588     
+  0.771905483124242       0.773037828403108        8.08788500065892     
+  1.689473622650912E-005  3.978922625002787E-004  1.071522621740604E-003
+  3.330885003602834E-003  4.365638880150484E-003  1.070491580285763E-002
+  3.366564422637205E-002  8.453708993181547E-002  0.102273766327544     
+  0.123081968822326       0.152499020382727       0.197913428498850     
+  0.274469051321126       0.421609375360483       0.654400098637708     
+  0.701250438177925       0.732275551576049       0.750796393559590