Class SVTConstants

java.lang.Object
org.jlab.detector.geant4.v2.SVT.SVTConstants

public class SVTConstants extends Object

Geometry for the SVT Link icon

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 Details Link icon

    • LOGGER Link icon

      public static Logger LOGGER
    • VERBOSE Link icon

      public static boolean VERBOSE
    • NREGIONS Link icon

      public static int NREGIONS
    • NSECTORS Link icon

      public static int[] NSECTORS
    • NFIDUCIALS Link icon

      public static int NFIDUCIALS
    • NMODULES Link icon

      public static int NMODULES
    • NSENSORS Link icon

      public static int NSENSORS
    • NSTRIPS Link icon

      public static int NSTRIPS
    • NPADS Link icon

      public static int NPADS
    • STRIPOFFSETWID Link icon

      public static double STRIPOFFSETWID
    • READOUTPITCH Link icon

      public static double READOUTPITCH
    • STEREOANGLE Link icon

      public static double STEREOANGLE
    • STATUS Link icon

      public static int[] STATUS
    • RSI Link icon

      public static int[][] RSI
    • PHI0 Link icon

      public static double PHI0
    • SECTOR0 Link icon

      public static double SECTOR0
    • REFRADIUS Link icon

      public static double[] REFRADIUS
    • LAYERPOSFAC Link icon

      public static double LAYERPOSFAC
    • Z0ACTIVE Link icon

      public static double[] Z0ACTIVE
    • SUPPORTRADIUS Link icon

      public static double[] SUPPORTRADIUS
    • FIDCUX Link icon

      public static double FIDCUX
    • FIDPKX Link icon

      public static double FIDPKX
    • FIDORIGINZ Link icon

      public static double FIDORIGINZ
    • FIDCUZ Link icon

      public static double FIDCUZ
    • FIDPKZ0 Link icon

      public static double FIDPKZ0
    • FIDPKZ1 Link icon

      public static double FIDPKZ1
    • ACTIVESENWID Link icon

      public static double ACTIVESENWID
    • PHYSSENWID Link icon

      public static double PHYSSENWID
    • DEADZNWID Link icon

      public static double DEADZNWID
    • SILICONTHK Link icon

      public static double SILICONTHK
    • PHYSSENLEN Link icon

      public static double PHYSSENLEN
    • ACTIVESENLEN Link icon

      public static double ACTIVESENLEN
    • DEADZNLEN Link icon

      public static double DEADZNLEN
    • MICROGAPLEN Link icon

      public static double MICROGAPLEN
    • NMATERIALS Link icon

      public static int NMATERIALS
    • MATERIALTYPES Link icon

      public static HashMap<String,String> MATERIALTYPES
    • MATERIALDIMENSIONS Link icon

      public static HashMap<String,double[]> MATERIALDIMENSIONS
    • PASSIVETHK Link icon

      public static double PASSIVETHK
    • NLAYERS Link icon

      public static int NLAYERS
    • NTOTALSECTORS Link icon

      public static int NTOTALSECTORS
    • NTOTALFIDUCIALS Link icon

      public static int NTOTALFIDUCIALS
    • LAYERRADIUS Link icon

      public static double[][] LAYERRADIUS
    • LAYERGAPTHK Link icon

      public static double LAYERGAPTHK
    • MODULELEN Link icon

      public static double MODULELEN
    • STRIPLENMAX Link icon

      public static double STRIPLENMAX
    • MODULEWID Link icon

      public static double MODULEWID
    • SECTORLEN Link icon

      public static double SECTORLEN
    • SIDETOL Link icon

      public static final double SIDETOL
      See Also:
    • LENGTHTOL Link icon

      public static final double LENGTHTOL
      See Also:
    • FARADAYCAGERMIN Link icon

      public static double[] FARADAYCAGERMIN
    • FARADAYCAGERMAX Link icon

      public static double[] FARADAYCAGERMAX
    • FARADAYCAGELENGTH Link icon

      public static double[] FARADAYCAGELENGTH
    • FARADAYCAGEZPOS Link icon

      public static double[] FARADAYCAGEZPOS
    • FARADAYCAGENAME Link icon

      public static String[] FARADAYCAGENAME
    • FARADAYCAGERADLEN Link icon

      public static double[] FARADAYCAGERADLEN
    • FARADAYCAGEZOVERA Link icon

      public static double[] FARADAYCAGEZOVERA
    • FARADAYCAGERHO Link icon

      public static double[] FARADAYCAGERHO
    • FARADAYCAGEI Link icon

      public static double[] FARADAYCAGEI
    • REGIONPEEKRMIN Link icon

      public static double[] REGIONPEEKRMIN
    • REGIONPEEKRMAX Link icon

      public static double[] REGIONPEEKRMAX
    • REGIONPEEKLENGTH Link icon

      public static double[] REGIONPEEKLENGTH
    • MATERIALPROPERTIES Link icon

      public static final Map<String,double[]> MATERIALPROPERTIES
  • Constructor Details Link icon

    • SVTConstants Link icon

      public SVTConstants()
  • Method Details Link icon

    • connect Link icon

      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 Link icon

      public static String 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/"
    • setCcdbPath Link icon

      public static void setCcdbPath(String aPath)
      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 Link icon

      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 Link icon

      public static void showLayerShiftData()
      Prints alignment shift data for sectors to screen.
    • convertRegionSectorFiducial2Index Link icon

      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 0
      aSector - an index starting from 0
      aFiducial - an index starting from 0
      Returns:
      int an index used for fiducial survey data
      Throws:
      IllegalArgumentException - indices out of bounds
    • convertIndex2RegionSectorFiducial Link icon

      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 Link icon

      public static int convertRegionSector2Index(int aRegion, int aSector) throws IllegalArgumentException
      Converts RS indices to linear index.
      Parameters:
      aRegion - an index starting from 0
      aSector - an index starting from 0
      Returns:
      int an index used for sector modules
      Throws:
      IllegalArgumentException - indices out of bounds
    • convertIndex2RegionSector Link icon

      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 Link icon

      public static int[] convertLayer2RegionModule(int aLayer) throws IllegalArgumentException
      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 Link icon

      public static int convertRegionModule2Layer(int aRegion, int aModule) throws IllegalArgumentException
      Converts Region, Module indices to Layer index.
      Parameters:
      aRegion - an index starting from 0
      aModule - an index starting from 0
      Returns:
      int layer index starting from 0
      Throws:
      IllegalArgumentException - indices out of bounds
    • getPhi Link icon

      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 0
      aSector - an index starting from 0
      Returns:
      double an angle in radians
    • getDetectorFrame Link icon

      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 0
      aSector - an index starting from 0
      aRadius - transverse distance from beamline
      aZ - longitudinal distance along beamline
      Returns:
      Transformation3D a sequence of transformations
      Throws:
      IllegalArgumentException - indices out of bounds
    • getStripFrame Link icon

      public static Transform getStripFrame(boolean aFlip)
      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 Link icon

      public static double[][][] getLayerSectorAlignmentData()
      Returns the layer/sector alignment data
      Returns:
    • getGlobalAlignmentData Link icon

      public static double[] getGlobalAlignmentData()
      Returns the layer/sector alignment data
      Returns: