Project

General

Profile

GMC Geometry Tables

Many of these tables are structured to resemble Geant4 classes used in its geometry. Some familiarity with these classes is useful for understanding these tables. The user's guide at http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/index.html is a useful reference for becoming familiar with how Geant4 handles its geometry.

Elements

This table stores the elements that make up the materials in Geant4's geometry. An entry in this table contains the information needed to build the G4Element objects.

Column Name Variable Type Description
eID INT Index for the table
symbol STRING The symbol used in the periodic table. Special entries such as liquid deuterium have modified symbols
z INT Atomic number
n INT Atomic weight
eName INT Name of the element

Materials

This table stores the materials that make up the objects in Geant4's geometry. An entry in this table contains the information needed to build the G4Material objects and is dependent on the Elements table.

Column Name Variable Type Description
mID INT Index for the table
mName STRING The name of the material
density FLOAT density of the material (g/cm^3)
numElements INT number of elements in the material
element1 INT Name of the first element
elementPercent1 INT Percent of the material by mass
element2 INT Name of the second element
elementPercent2 INT Percent of the material by mass
etc etc etc
element10 INT Name of the tenth element
elementPercent10 INT Percent of the material by mass
eID1 INT link to the Elements table for the first element
eID2 INT link to the Elements table for the second element
etc etc etc
eID10 INT link to the Elements table for the tenth element

SolidBoxes

This table is used to build the G4Box objects, which inherit from G4VSolid and are rectangular prisms. The sID value is unique among SolidBoxes, SolidTubes, and SubtractionSolids. The entries in all of these tables are loaded into the same vector in GMC.

Column Name Variable Type Description
sID INT Index for the table
sName STRING The name of the solid
xLength FLOAT Length of the box in the x direction (cm)
yLength FLOAT Length of the box in the y direction (cm)
zLength FLOAT Length of the box in the z direction (cm)

SolidTubes

This table is used to build the G4Tubs objects, which inherit from G4VSolid and are cylinders, possibly hollow.

Column Name Variable Type Description
sID INT Index for the table
sName STRING The name of the solid
length FLOAT Length of the tube (cm)
radiusMin FLOAT Inner radius of the tube (cm)
radiusMax FLOAT Outer radius of the tube (cm)

SubtractionSolids

A subtraction solid is a combination of 2 basic solids used to make more complex shapes. One solid is the base solid, which provides the initial shape. The other solid hollows out the base solid where they overlap. This table is used to build some of the more complex solids used by Geant4.

Column Name Variable Type Description
sID INT Index for the table
sName STRING The name of the solid
holeID INT sID of the solid that makes the hole
shellID INT sID of the base solid
rotX FLOAT Rotation about the x-axis of the hole inside the shell (radians)
rotY FLOAT Rotation about the x-axis of the hole inside the shell (radians)
rotZ FLOAT Rotation about the x-axis of the hole inside the shell (radians)
posX FLOAT x coordinate position of the hole inside the shell (cm)
posY FLOAT y coordinate position of the hole inside the shell (cm)
posZ FLOAT z coordinate position of the hole inside the shell (cm)

LogicalVolumes

This table stores information to build G4LogicalVolume objects in Geant4. These depend on the Material and Solid tables.

Column Name Variable Type Description
lvID INT Index for the table
lvName STRING The name of the LogicalVolume
sID INT Reference to the Solids tables
mID INT Reference to the Materials table
sensitiveDetector BOOL True if the volume records hits in GMC
vID INT Reference to the visAttributes table. Gives the color of the object if GMC is drawing visuals

PhysicalVolumes

This table stores the information to build G4PhysicalVolumes. It depends on the LogicalVolumes table.

Column Name Variable Type Description
pvID INT Index for the table
pvName STRING The name of the PhysicalVolume
xRel FLOAT x position of the PhysicalVolume, relative to the center of its mother volume (cm)
yRel FLOAT y position of the PhysicalVolume, relative to the center of its mother volume (cm)
zRel FLOAT z position of the PhysicalVolume, relative to the center of its mother volume (cm)
lvID INT lvID of the LogicalVolume that the PhysicalVolume is built from
motherID INT lvID of the LogicalVolume that the PhysicalVolume is placed in. This is NULL for and only for the world volume
depth INT The world volume has a depth of 0. Volumes placed directly in it have a depth of 1. Volumes placed directly in those have a depth of 2, etc.
rotX FLOAT How far to rotate the PhysicalVolume about the x-axis (radians)
rotY FLOAT How far to rotate the PhysicalVolume about the y-axis (radians)
rotZ FLOAT How far to rotate the PhysicalVolume about the z-axis (radians)
sensitiveDetector BOOL True if this physical volume is used as a detector volume in GMC
upstreamInteraction BOOL True if this physical volume is in the path of the beam and before the target. Must be set correctly if generating dimuons upstream
zLength FLOAT Redundant and not used by GMC, part of the table to increase ease of use. Length in z of the volume
mID INT Redundant and not used by GMC, part of the table to increase ease of use. Reference to the Materials table
sID INT Redundant and not used by GMC, part of the table to increase ease of use. Reference to the Solids tables

TargetInfo

This table lists the information for the various targets available in GMC, as they are implemented in GMC. The /set/target command in GMC takes an int as an argument that matches a tID from this table.

Column Name Variable Type Description
tID INT Corresponds to targetPos in data in the Spill table. 1 is LH2, 3 is LD2, etc.
mID INT Link to mID in the Materials table for the material the target is composed of
totalLength DOUBLE The combined length of all pieces of the target (cm)
pieceLength DOUBLE The length of a single piece of the target (cm)
radius DOUBLE The radius of the target (cm)
zPos DOUBLE The z position of the center of the target (cm)
num_pieces INT How many pieces the target is split into
spacing DOUBLE The distance between two pieces of the target, center to center (cm)
vID INT Link to vID in the visAttributes table
mName STRING Material name. GMC uses mID, this column is for human readability of the table

Constants_Derived

This is a list of constants used in various places in GMC. This table is derived from the other tables.

Column Name Variable Type Description
name STRING name of the constant
value FLOAT value of the constant

Fmag

This table is the magnetic field map for Fmag. The default settings for GMC load the magnetic field map from an ASCII text file, not from the MySQL database. The magnetic field schemas are often kept in a different geometry schema than the rest of the geometry.

Column Name Variable Type Description
x FLOAT x position of the point in the field (cm)
y FLOAT y position of the point in the field (cm)
z FLOAT z position of the point in the field (cm)
B_x FLOAT strength of the magnetic field pointing in the x direction
B_y FLOAT strength of the magnetic field pointing in the y direction
B_z FLOAT strength of the magnetic field pointing in the z direction

Kmag

This table is the magnetic field map for Kmag. Same structure as Fmag.

Planes

This table contains the information for the detector planes in the experiment. Positions and angles are the survey results, before the adjustments from any alignment procedures. This table is not used to place any spectrometer objects in GMC, but GMC does use this information when creating the mHit and Hit tables. The prop tubes are broken up into many planes, one each for the front and back of each module of 16 tubes.

Column Name Variable Type Description
detectorID INT Reference ID for the detector
stationID INT Which of the 4 stations the detector is placed at
componentID INT Used in sqerp
detectorName STRING Name of the detector plane
myPrimeIs INT If the detector plane has a prime plane that goes with it, this is its detectorID. (i.e. D1X would have D1Xp as a prime plane). 0 means no prime plane.
geantName STRING Name of the sensitive volume in GMC associated with this detector plane
spacing FLOAT The spacing between the centers of two adjacent elements (cm)
cellWidth FLOAT Width of a detector element, such as a hodoscope paddle (cm)
overlap FLOAT How much two adjacent elements overlap (cm)
numElements INT The number of elements in the plane
lowElementID INT The smallest elementID in the plane
angleFromVert FLOAT How much the elements are tilted away from straight up and down (radians)
xPrimeOffset FLOAT How much the elements are offset due to being a part of a primed unprimed pair (cm)
planeWidth FLOAT The width of the sensitive area of the plane (cm). For prop tubes this is the width of one plane, front or back, not both.
planeHeight FLOAT The height of the sensitive area of the plane (cm). For prop tubes this is the width of one plane, front or back, not both.
x0 FLOAT x coordinate of the center of the plane (cm). For prop tubes this is the middle of the entire module, front and back.
y0 FLOAT y coordinate of the center of the plane (cm). For prop tubes this is the middle of the entire module, front and back.
z0 FLOAT z coordinate of the center of the plane (cm)
theta_x FLOAT How much the plane is rotated about the x-axis (radians)
theta_y FLOAT How much the plane is rotated about the y-axis (radians)
theta_z FLOAT How much the plane is rotated about the z-axis (radians)
driftSpeed FLOAT Obsolete
efficiency FLOAT Fraction of hits that are picked up by the detector. This will probably be obsolete soon, as it looks like efficiency is position and rate dependent.

PlaneOffsets

Alignment information for the planes. These are small adjustments to the survey results. delta_z, delta_u, and delta_theta are determined from alignment calculations, and deltaX and deltaY are estimated from that. deltaZ is redundant with delta_z column, but is left in because removing it could break older code.

Column Name Variable Type Description
detectorName STRING Name of the detector plane
delta_z FLOAT How much the plane is offset in z compared to the entry in Planes (cm)
delta_u FLOAT How much the plane is offset in its measuring direction (cm)
delta_theta FLOAT How much the plane is rotated around the axis perpindicular to its surface (radians)
deltaX FLOAT How much the plane is offset in x compared to the entry in Planes (cm)
deltaY FLOAT How much the plane is offset in y compared to the entry in Planes (cm)
deltaZ FLOAT How much the plane is offset in z compared to the entry in Planes (cm)
rotateAboutX FLOAT How much the plane is rotated about the x-axis compared to the entry in Planes (radians)
rotateAboutY FLOAT How much the plane is rotated about the y-axis compared to the entry in Planes (radians)
rotateAboutZ FLOAT How much the plane is rotated about the z-axis compared to the entry in Planes (radians)

VisAttributes

Used to contain color information for displaying GMC events, which is not currently supported.

WirePositionsDerived

Not currently used for anything. Contains the distance of each wire from the center of it's chamber, in the measuring direction. This table is derived from the other tables.

Column Name Variable Type Description
detectorName STRING Name of the detector plane
elementID INT Wire number
wirePosition FLOAT Distance of the wire from the detector center (cm)

SimpleGeometryDerived

Not used in any program, exists for human readability purposes. This table contains the z position of several pieces of the geometry. This table is derived from the other tables.

Column Name Variable Type Description
name STRING Name of the spectrometer piece
zPos FLOAT z position of the spectrometer piece (cm)

DigitizerInfoDerived

Used by GMC. All of this information is derived from the Planes and PlaneOffsets table.

Column Name Variable Type Description
detectorID INT Reference ID for the detector
u_x FLOAT x component of a unit vector pointing in the measuring direction of the detector
u_y FLOAT y component of a unit vector pointing in the measuring direction of the detector
u_z FLOAT z component of a unit vector pointing in the measuring direction of the detector
v_x FLOAT x component of a unit vector parallel to a wire/paddle in the detector
v_y FLOAT y component of a unit vector parallel to a wire/paddle in the detector
v_z FLOAT z component of a unit vector parallel to a wire/paddle in the detector
n_x FLOAT x component of a unit vector normal to the detector plane
n_y FLOAT y component of a unit vector normal to the detector plane
n_z FLOAT z component of a unit vector normal to the detector plane
w_x FLOAT x component of a unit vector in the detector plane parallel to the top or bottom edge
w_y FLOAT y component of a unit vector in the detector plane parallel to the top or bottom edge
w_z FLOAT x component of a unit vector in the detector plane parallel to the top or bottom edge
h_x FLOAT x component of a unit vector in the detector plane parallel to the left or right edge
h_y FLOAT y component of a unit vector in the detector plane parallel to the left or right edge
h_z FLOAT x component of a unit vector in the detector plane parallel to the left or right edge
x0 FLOAT x coordinate of the center of the plane (cm). For prop tubes this is the middle of the entire module, front and back.
y0 FLOAT y coordinate of the center of the plane (cm). For prop tubes this is the middle of the entire module, front and back.
z0 FLOAT z coordinate of the center of the plane (cm)
u0 FLOAT The distance of the center of the plane from the beam line, in its measuring direction (cm)
angleFromVert FLOAT How much the elements are tilted away from straight up and down (radians)
detectorName STRING Name of the detector plane
geantName STRING Name of the sensitive volume in GMC associated with this detector plane
numElements INT The number of elements in the plane
lowElementID INT The smallest elementID in the plane
spacing FLOAT The spacing between the centers of two adjacent elements (cm)
cellWidth FLOAT Width of a detector element, such as a hodoscope paddle (cm)
overlap FLOAT How much two adjacent elements overlap (cm)
xPrimeOffset FLOAT How much the elements are offset due to being a part of a primed unprimed pair (cm)
planeWidth FLOAT The width of the sensitive area of the plane (cm). For prop tubes this is the width of one plane, front or back, not both.
planeHeight FLOAT The height of the sensitive area of the plane (cm). For prop tubes this is the width of one plane, front or back, not both.
driftSpeed FLOAT Obsolete

SurveyResults

Information on the detector planes obtained from surveys.

Column Name Variable Type Description
survey_date STRING Date the survey was conducted
detectorName STRING Name of the detector surveyed
x_cm FLOAT x position of the chamber
y_cm FLOAT y position of the chamber
z_cm FLOAT z position of the chamber
thx_rad FLOAT rotation of the chamber around the x axis
thy_rad FLOAT rotation of the chamber around the y axis
thz_rad FLOAT rotation of the chamber around the z axis

DetectorSpacings

The survey results often return results only for a whole detector instead of each plane in it. If we get results back for the station 1 wire chambers, we need to know how to use those to generate separate positions for D1X, D1X', D1V, etc. This table contains the information needed to do that.

Column Name Variable Type Description
dID INT detectorID used in Planes table
detectorName STRING name of the detector in the Planes table
surveyDetectorName STRING name of the detector from the survey
x_spacing FLOAT x position of plane minus x position of survey location
y_spacing FLOAT y position of plane minus y position of survey location
z_spacing FLOAT z position of plane minus z position of survey location

SurveyResults2

Combination of SurveyResults and DetectorSpacings. i.e. D1 is now split into D1X, D1X', etc.

Column Name Variable Type Description
survey_date STRING Date the survey was conducted
detectorName STRING Name of the detector plane
x_cm FLOAT x position of the chamber
y_cm FLOAT y position of the chamber
z_cm FLOAT z position of the chamber
thx_rad FLOAT rotation of the chamber around the x axis
thy_rad FLOAT rotation of the chamber around the y axis
thz_rad FLOAT rotation of the chamber around the z axis