Contents
- Description
- Field Summary
- Constructor Summary
- Method Summary
- Field Details
- LOGGER
- VERBOSE
- NREGIONS
- NSECTORS
- NFIDUCIALS
- NMODULES
- NSENSORS
- NSTRIPS
- NPADS
- STRIPOFFSETWID
- READOUTPITCH
- STEREOANGLE
- STATUS
- RSI
- PHI0
- SECTOR0
- REFRADIUS
- LAYERPOSFAC
- Z0ACTIVE
- SUPPORTRADIUS
- FIDCUX
- FIDPKX
- FIDORIGINZ
- FIDCUZ
- FIDPKZ0
- FIDPKZ1
- ACTIVESENWID
- PHYSSENWID
- DEADZNWID
- SILICONTHK
- PHYSSENLEN
- ACTIVESENLEN
- DEADZNLEN
- MICROGAPLEN
- NMATERIALS
- MATERIALTYPES
- MATERIALDIMENSIONS
- PASSIVETHK
- NLAYERS
- NTOTALSECTORS
- NTOTALFIDUCIALS
- LAYERRADIUS
- LAYERGAPTHK
- MODULELEN
- STRIPLENMAX
- MODULEWID
- SECTORLEN
- SIDETOL
- LENGTHTOL
- FARADAYCAGERMIN
- FARADAYCAGERMAX
- FARADAYCAGELENGTH
- FARADAYCAGEZPOS
- FARADAYCAGENAME
- FARADAYCAGERADLEN
- FARADAYCAGEZOVERA
- FARADAYCAGERHO
- FARADAYCAGEI
- REGIONPEEKRMIN
- REGIONPEEKRMAX
- REGIONPEEKLENGTH
- MATERIALPROPERTIES
- Constructor Details
- Method Details
- connect(DatabaseConstantProvider)
- getCcdbPath()
- setCcdbPath(String)
- load(DatabaseConstantProvider)
- showLayerShiftData()
- convertRegionSectorFiducial2Index(int, int, int)
- convertIndex2RegionSectorFiducial(int)
- convertRegionSector2Index(int, int)
- convertIndex2RegionSector(int)
- convertLayer2RegionModule(int)
- convertRegionModule2Layer(int, int)
- getPhi(int, int)
- getDetectorFrame(int, int, double, double)
- getStripFrame(boolean)
- getLayerSectorAlignmentData()
- getGlobalAlignmentData()
Class SVTConstants
java.lang.Object
org.jlab.detector.geant4.v2.SVT.SVTConstants
Geometry for the SVT 
length unit: mm (3D Primitives), cm (Geant4Basic volume positions) angle unit: deg
Conventions:
- svt = four concentric regions / superlayers
- region / superlayer = ring of a variable number of sectors
- sector = pair of sensor modules and backing structure, connected and stabilised by copper and peek supports
- module = triplet of sensors
- sensor = silicon with etched strips in active region
- layer = plane of sensitive strips, spanning active regions of module
- strip = sensitive line
- Version:
- 1.1.1
- Author:
- pdavies
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic double
static double
static double
static double
static double[]
static double[]
static String[]
static double[]
static double[]
static double[]
static double[]
static double[]
static double[]
static double
static double
static double
static double
static double
static double
static double
static double
static double[][]
static final double
static Logger
static double
static double
static double
static int
static int
static int
static int
static int
static int
static int[]
static int
static int
static int
static int
static double
static double
static double
static double
static double
static double[]
static double[]
static double[]
static double[]
static int[][]
static double
static double
static final double
static double
static int[]
static double
static double
static double
static double[]
static boolean
static double[]
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic org.jlab.detector.calib.utils.DatabaseConstantProvider
connect
(org.jlab.detector.calib.utils.DatabaseConstantProvider cp) Loads the the necessary tables for the SVT geometry for a given DatabaseConstantProvider.static int[]
convertIndex2RegionSector
(int aSvtIndex) Converts linear index to Region and Sector indices.static int[]
convertIndex2RegionSectorFiducial
(int aSurveyIndex) Converts linear index to Region, Sector, and Fiducial indices.static int[]
convertLayer2RegionModule
(int aLayer) Converts Layer index to Region, Module indices.static int
convertRegionModule2Layer
(int aRegion, int aModule) Converts Region, Module indices to Layer index.static int
convertRegionSector2Index
(int aRegion, int aSector) Converts RS indices to linear index.static int
convertRegionSectorFiducial2Index
(int aRegion, int aSector, int aFiducial) Converts RSF indices to linear index.Useful for writing data files.static String
Returns the path to the database directory that contains the core parameters and constants for the SVT.
To use with DatabaseConstantProvider: Access tables withgetCcdbPath() +"table"
. Access constants withgetCcdbPath() +"table/constant"
.static Transform
getDetectorFrame
(int aRegion, int aSector, double aRadius, double aZ) Returns a transformation from the local frame to the ideal lab frame (not accounting for shifts and rotations), for a given sector module.static double[]
Returns the layer/sector alignment datastatic double[][][]
Returns the layer/sector alignment datastatic double
getPhi
(int aRegion, int aSector) Returns the azimuth angle from the x-axis for a given sector module.static Transform
getStripFrame
(boolean aFlip) Returns a transformation for the strip frame to the local frame.static void
load
(org.jlab.detector.calib.utils.DatabaseConstantProvider cp) Reads all the necessary constants from CCDB into static variables.static void
setCcdbPath
(String aPath) Sets the path to the database directory that contains the core parameters and constants for the SVT.static void
Prints alignment shift data for sectors to screen.
-
Field Details
-
LOGGER
-
VERBOSE
public static boolean VERBOSE -
NREGIONS
public static int NREGIONS -
NSECTORS
public static int[] NSECTORS -
NFIDUCIALS
public static int NFIDUCIALS -
NMODULES
public static int NMODULES -
NSENSORS
public static int NSENSORS -
NSTRIPS
public static int NSTRIPS -
NPADS
public static int NPADS -
STRIPOFFSETWID
public static double STRIPOFFSETWID -
READOUTPITCH
public static double READOUTPITCH -
STEREOANGLE
public static double STEREOANGLE -
STATUS
public static int[] STATUS -
RSI
public static int[][] RSI -
PHI0
public static double PHI0 -
SECTOR0
public static double SECTOR0 -
REFRADIUS
public static double[] REFRADIUS -
LAYERPOSFAC
public static double LAYERPOSFAC -
Z0ACTIVE
public static double[] Z0ACTIVE -
SUPPORTRADIUS
public static double[] SUPPORTRADIUS -
FIDCUX
public static double FIDCUX -
FIDPKX
public static double FIDPKX -
FIDORIGINZ
public static double FIDORIGINZ -
FIDCUZ
public static double FIDCUZ -
FIDPKZ0
public static double FIDPKZ0 -
FIDPKZ1
public static double FIDPKZ1 -
ACTIVESENWID
public static double ACTIVESENWID -
PHYSSENWID
public static double PHYSSENWID -
DEADZNWID
public static double DEADZNWID -
SILICONTHK
public static double SILICONTHK -
PHYSSENLEN
public static double PHYSSENLEN -
ACTIVESENLEN
public static double ACTIVESENLEN -
DEADZNLEN
public static double DEADZNLEN -
MICROGAPLEN
public static double MICROGAPLEN -
NMATERIALS
public static int NMATERIALS -
MATERIALTYPES
-
MATERIALDIMENSIONS
-
PASSIVETHK
public static double PASSIVETHK -
NLAYERS
public static int NLAYERS -
NTOTALSECTORS
public static int NTOTALSECTORS -
NTOTALFIDUCIALS
public static int NTOTALFIDUCIALS -
LAYERRADIUS
public static double[][] LAYERRADIUS -
LAYERGAPTHK
public static double LAYERGAPTHK -
MODULELEN
public static double MODULELEN -
STRIPLENMAX
public static double STRIPLENMAX -
MODULEWID
public static double MODULEWID -
SECTORLEN
public static double SECTORLEN -
SIDETOL
public static final double SIDETOL- See Also:
-
LENGTHTOL
public static final double LENGTHTOL- See Also:
-
FARADAYCAGERMIN
public static double[] FARADAYCAGERMIN -
FARADAYCAGERMAX
public static double[] FARADAYCAGERMAX -
FARADAYCAGELENGTH
public static double[] FARADAYCAGELENGTH -
FARADAYCAGEZPOS
public static double[] FARADAYCAGEZPOS -
FARADAYCAGENAME
-
FARADAYCAGERADLEN
public static double[] FARADAYCAGERADLEN -
FARADAYCAGEZOVERA
public static double[] FARADAYCAGEZOVERA -
FARADAYCAGERHO
public static double[] FARADAYCAGERHO -
FARADAYCAGEI
public static double[] FARADAYCAGEI -
REGIONPEEKRMIN
public static double[] REGIONPEEKRMIN -
REGIONPEEKRMAX
public static double[] REGIONPEEKRMAX -
REGIONPEEKLENGTH
public static double[] REGIONPEEKLENGTH -
MATERIALPROPERTIES
-
-
Constructor Details
-
Method Details
-
connect
public static org.jlab.detector.calib.utils.DatabaseConstantProvider connect(org.jlab.detector.calib.utils.DatabaseConstantProvider cp) Loads the the necessary tables for the SVT geometry for a given DatabaseConstantProvider.- Returns:
- DatabaseConstantProvider the same thing
-
getCcdbPath
Returns the path to the database directory that contains the core parameters and constants for the SVT.
To use with DatabaseConstantProvider:- Access tables with
getCcdbPath() +"table"
. - Access constants with
getCcdbPath() +"table/constant"
.
- Returns:
- String a path to a directory in CCDB of the format
"/geometry/detector/"
- Access tables with
-
setCcdbPath
Sets the path to the database directory that contains the core parameters and constants for the SVT.- Parameters:
aPath
- a path to a directory in CCDB of the format"/geometry/detector/"
-
load
public static void load(org.jlab.detector.calib.utils.DatabaseConstantProvider cp) Reads all the necessary constants from CCDB into static variables. Please use a DatabaseConstantProvider to access CCDB and load the following tables: svt, region, support, fiducial, material, alignment.- Parameters:
cp
- a ConstantProvider that has loaded the necessary tables
-
showLayerShiftData
public static void showLayerShiftData()Prints alignment shift data for sectors to screen. -
convertRegionSectorFiducial2Index
public static int convertRegionSectorFiducial2Index(int aRegion, int aSector, int aFiducial) throws IllegalArgumentException Converts RSF indices to linear index.Useful for writing data files.- Parameters:
aRegion
- an index starting from 0aSector
- an index starting from 0aFiducial
- an index starting from 0- Returns:
- int an index used for fiducial survey data
- Throws:
IllegalArgumentException
- indices out of bounds
-
convertIndex2RegionSectorFiducial
public static int[] convertIndex2RegionSectorFiducial(int aSurveyIndex) throws IllegalArgumentException Converts linear index to Region, Sector, and Fiducial indices. For use with data files.- Parameters:
aSurveyIndex
- an index used for fiducial survey data- Returns:
- int[] an array containing RSF indices
- Throws:
IllegalArgumentException
- index out of bounds
-
convertRegionSector2Index
public static int convertRegionSector2Index(int aRegion, int aSector) throws IllegalArgumentException Converts RS indices to linear index.- Parameters:
aRegion
- an index starting from 0aSector
- an index starting from 0- Returns:
- int an index used for sector modules
- Throws:
IllegalArgumentException
- indices out of bounds
-
convertIndex2RegionSector
public static int[] convertIndex2RegionSector(int aSvtIndex) Converts linear index to Region and Sector indices. For use with data files.- Parameters:
aSvtIndex
- an index starting from 0- Returns:
- int[] an array containing RS indices
- Throws:
IllegalArgumentException
- index out of bounds
-
convertLayer2RegionModule
Converts Layer index to Region, Module indices.- Parameters:
aLayer
- an index starting from 0- Returns:
- int[] an array containing RM indices
- Throws:
IllegalArgumentException
- index out of bounds
-
convertRegionModule2Layer
public static int convertRegionModule2Layer(int aRegion, int aModule) throws IllegalArgumentException Converts Region, Module indices to Layer index.- Parameters:
aRegion
- an index starting from 0aModule
- an index starting from 0- Returns:
- int layer index starting from 0
- Throws:
IllegalArgumentException
- indices out of bounds
-
getPhi
public static double getPhi(int aRegion, int aSector) Returns the azimuth angle from the x-axis for a given sector module.- Parameters:
aRegion
- an index starting from 0aSector
- an index starting from 0- Returns:
- double an angle in radians
-
getDetectorFrame
public static Transform getDetectorFrame(int aRegion, int aSector, double aRadius, double aZ) throws IllegalArgumentException Returns a transformation from the local frame to the ideal lab frame (not accounting for shifts and rotations), for a given sector module.- Parameters:
aRegion
- an index starting from 0aSector
- an index starting from 0aRadius
- transverse distance from beamlineaZ
- longitudinal distance along beamline- Returns:
- Transformation3D a sequence of transformations
- Throws:
IllegalArgumentException
- indices out of bounds
-
getStripFrame
Returns a transformation for the strip frame to the local frame.- Parameters:
aFlip
- whether the transformation should append a rotation of 180 deg about the z axis- Returns:
- Transformation3D a sequence of transformations
-
getLayerSectorAlignmentData
public static double[][][] getLayerSectorAlignmentData()Returns the layer/sector alignment data- Returns:
-
getGlobalAlignmentData
public static double[] getGlobalAlignmentData()Returns the layer/sector alignment data- Returns:
-