public abstract class HPSTrackerBuilder extends Object
Modifier and Type | Class and Description |
---|---|
static class |
HPSTrackerBuilder.BaseModuleBundle
Bundle volumes into a module.
|
static class |
HPSTrackerBuilder.HalfModuleBundle
Bundle volumes into a half-module.
|
Modifier and Type | Field and Description |
---|---|
private boolean |
debug |
private static Logger |
LOGGER |
protected List<MilleParameter> |
milleparameters |
List<HPSTrackerBuilder.BaseModuleBundle> |
modules |
protected org.jdom.Element |
node |
protected List<SurveyVolume> |
surveyVolumes |
Constructor and Description |
---|
HPSTrackerBuilder(boolean debug,
org.jdom.Element node)
Default constructor to create a geometry.
|
Modifier and Type | Method and Description |
---|---|
protected void |
addModuleBundle(HPSTrackerBuilder.BaseModuleBundle bundle)
Add module to list.
|
abstract void |
build()
Build the local geometry
|
static String |
getHalfFromName(String name) |
protected AlignmentCorrection |
getHalfModuleAlignmentCorrection(boolean isTopLayer,
int layer)
Extract @AlignmentCorrection for a half-module
|
protected AlignmentCorrection |
getL13UChannelAlignmentCorrection(boolean isTopLayer)
Extract @AlignmentCorrection for the support
|
static int |
getLayerFromVolumeName(String name) |
abstract int |
getMillepedeLayer(String name)
Definition of the millepede layer number.
|
protected HPSTrackerBuilder.BaseModuleBundle |
getModuleBundle(HPSTestRunTracker2014GeometryDefinition.BaseModule module)
Find module among the existing bundles.
|
protected HPSTrackerBuilder.BaseModuleBundle |
getModuleBundle(int layer,
String half)
Find module among the existing bundles.
|
protected List<HPSTrackerBuilder.BaseModuleBundle> |
getModules() |
int |
getOldGeomDefLayerFromVolumeName(String name)
Extract old definition of Test Run sensor number.
|
int |
getOldLayerDefinition(boolean isTopLayer,
int l,
boolean isAxial)
Get the layer number consistent with the old geometry definition.
|
<T> T |
getSurveyVolume(Class<T> c)
Find geometry object by type.
|
static org.lcsim.detector.Transform3D |
getTransform(org.lcsim.detector.Transform3D t,
SurveyVolume mother,
String targetMotherName)
Find transform to parent volume coordinate system.
|
static int |
getUChannelSupportLayer(String name) |
private void |
initAlignmentParameters()
Extract alignment constants from xml description
|
static boolean |
isActiveSensor(String name) |
static boolean |
isAxial(boolean isTopLayer,
int layer)
Checks if the orientation of the sensor is axial.
|
static boolean |
isAxialFromName(String name)
Get axial or stereo key name from string
|
static boolean |
isBase(String name) |
protected boolean |
isDebug() |
static boolean |
isHalfModule(String name) |
static boolean |
isHoleFromName(String name)
Get hole or slot key name from string
|
static boolean |
isModule(String name) |
static boolean |
isSensor(String name) |
static boolean |
isSupportRingKinMount(String name) |
static boolean |
isTopFromName(String name) |
static boolean |
isUChannelSupport(String name) |
static Hep3Vector |
rotateToParent(Hep3Vector vec,
SurveyVolume geometry,
String targetName)
Find the vector in a mother volume coordinate system.
|
protected void |
setDebug(boolean debug) |
static Hep3Vector |
transformToMotherCoord(Hep3Vector vec,
SurveyVolume geometry,
String targetMotherName)
Find the vector in a parent volume coordinate system.
|
static Hep3Vector |
transformToParent(Hep3Vector vec,
SurveyVolume geometry,
String targetName)
Find the vector in a mother volume coordinate system.
|
static Hep3Vector |
transformToTracking(Hep3Vector vec,
SurveyVolume geometry)
Find the vector in the tracking volume coordinate system.
|
private static final Logger LOGGER
private boolean debug
public List<HPSTrackerBuilder.BaseModuleBundle> modules
protected List<SurveyVolume> surveyVolumes
protected org.jdom.Element node
protected List<MilleParameter> milleparameters
public HPSTrackerBuilder(boolean debug, org.jdom.Element node)
debug
- output flagnode
- to have access to compact xmlprivate void initAlignmentParameters()
protected AlignmentCorrection getHalfModuleAlignmentCorrection(boolean isTopLayer, int layer)
isTopLayer
- - top or bottom layerlayer
- - to identify which sensor it is.protected AlignmentCorrection getL13UChannelAlignmentCorrection(boolean isTopLayer)
isTopLayer
- - top or bottom layerpublic abstract void build()
public static boolean isTopFromName(String name)
public static int getLayerFromVolumeName(String name)
public static boolean isBase(String name)
public static boolean isHalfModule(String name)
public static boolean isModule(String name)
public static int getUChannelSupportLayer(String name)
public static boolean isUChannelSupport(String name)
public static boolean isSupportRingKinMount(String name)
public static boolean isSensor(String name)
public static boolean isActiveSensor(String name)
protected boolean isDebug()
protected void setDebug(boolean debug)
public <T> T getSurveyVolume(Class<T> c)
c
- - class type to be foundprotected List<HPSTrackerBuilder.BaseModuleBundle> getModules()
protected HPSTrackerBuilder.BaseModuleBundle getModuleBundle(int layer, String half)
layer
- - layer idhalf
- - top or bottom halfprotected HPSTrackerBuilder.BaseModuleBundle getModuleBundle(HPSTestRunTracker2014GeometryDefinition.BaseModule module)
module
- - to findprotected void addModuleBundle(HPSTrackerBuilder.BaseModuleBundle bundle)
bundle
- - module to add.public static boolean isAxial(boolean isTopLayer, int layer)
public static org.lcsim.detector.Transform3D getTransform(org.lcsim.detector.Transform3D t, SurveyVolume mother, String targetMotherName)
t
- - current transform to mothermother
- - geometry object from current transformtargetMotherName
- - parent volume defining new vector coordinate systempublic static Hep3Vector transformToMotherCoord(Hep3Vector vec, SurveyVolume geometry, String targetMotherName)
vec
- - vector to transformgeometry
- - geometry where vector is defined.targetMotherName
- - parent volume defining new vector coordinate systempublic static Hep3Vector transformToTracking(Hep3Vector vec, SurveyVolume geometry)
vec
- - vector to transformgeometry
- - geometry where vector is defined.public static Hep3Vector transformToParent(Hep3Vector vec, SurveyVolume geometry, String targetName)
vec
- - vector to transformgeometry
- - geometry where vector is defined.public static Hep3Vector rotateToParent(Hep3Vector vec, SurveyVolume geometry, String targetName)
vec
- - vector to transformgeometry
- - geometry where vector is defined.public static boolean isAxialFromName(String name)
name
- public static boolean isHoleFromName(String name)
name.
- public int getOldGeomDefLayerFromVolumeName(String name)
isTopLayer
- - top or bottom layerl
- - layerisAxial
- - axial or stereo sensorpublic int getOldLayerDefinition(boolean isTopLayer, int l, boolean isAxial)
module
- name that contains layer and half information.public abstract int getMillepedeLayer(String name)
name
- of half-module or sensorCopyright © 2019. All rights reserved.