Class RecoilGeant4Factory

java.lang.Object
org.jlab.detector.geant4.v2.Geant4Factory
org.jlab.detector.geant4.v2.recoil.RecoilGeant4Factory

public final class RecoilGeant4Factory extends Geant4Factory
Generate GEANT4 volume for the RECOIL detector
Author:
bondi, niccolai
  • Constructor Details Link icon

    • RecoilGeant4Factory Link icon

      public RecoilGeant4Factory(org.jlab.detector.calib.utils.DatabaseConstantProvider cp, int nRegions)
      Create the URWELL full geometry
      Parameters:
      cp -
      nRegions -
  • Method Details Link icon

    • init Link icon

      public void init(org.jlab.detector.calib.utils.DatabaseConstantProvider cp, int regions)
    • getChamberThickness Link icon

      public double getChamberThickness()
      Calculates the total detector thickness from the sum of the individual layers thicknesses
      Returns:
      thickness in cm
    • getSectorDimensions Link icon

      public double[] getSectorDimensions(int iregion)
      Calculates the sector dimensions
    • getCenterCoordinate Link icon

      public Vector3d getCenterCoordinate(int isector, int iregion)
      Calculates sector baricenter coordinate in CLAS12 frame
      Parameters:
      isector -
      iregion -
      Returns:
      Vector3d (X,Y,Z)
    • createSector Link icon

      public Geant4Basic createSector(int isector, int iregion, int Nchambers)
      Creates and positions the region volume in the given sector, and populates it with the three chamber volumes
      Parameters:
      isector - (0-5)
      iregion - (0)
      Nchambers - : number of chambers in each sector
      Returns:
      the region volume
    • createChamber Link icon

      public Geant4Basic createChamber(int iSector, int iRegion, int iChamber)
      Creates the chamber volume
      Parameters:
      iSector - (0-5)
      iRegion - (0)
      iChamber - (0, 1, 2)
      Returns:
      the chamber volume
    • getChamber_Dimensions Link icon

      public double[] getChamber_Dimensions(int iregion, int ichamber)
    • getChamber_daughter_Dimensions Link icon

      public double[] getChamber_daughter_Dimensions(int iregion, int ichamber)
      Calculates the chamber daughter dimensions
      Parameters:
      ichamber - (0, 1, 2)
      Returns:
      an array of doubles containing trapezoid dimensions: half small base , half large base, half height
    • getChamberVolume Link icon

      public Geant4Basic getChamberVolume(int sector, int region, int chamber, int layer)
      Returns the chamber volume for the chosen sector and chamber
      Parameters:
      sector - (1-6)
      chamber - (1, 2, 3)
      Returns:
      the chamber volume
    • getSectorVolume Link icon

      public Geant4Basic getSectorVolume(int region, int sector)
      Returns the sector volume for the given sector number
      Parameters:
      sector - (1-6)
      Returns:
      the sector volume
    • main Link icon

      public static void main(String[] args)