public class HpsSiSensor
extends org.lcsim.detector.tracker.silicon.SiSensor
SiSensor
with conditions specific to HPS SVT
half-modules (sensors) used during the engineering run and beyond. Each
half-module is uniquely identified by a FEB ID/Hybrid ID pair which is then
related to calibration conditions such as baseline, noise, gain etc.Modifier and Type | Field and Description |
---|---|
static int |
AMPLITUDE_INDEX |
protected Set<Integer> |
badChannels |
static String |
ELECTRON_SIDE |
protected int |
febHybridID |
protected int |
febID |
protected Map<Integer,Double> |
gainMap |
protected boolean |
isAxial |
protected boolean |
isStereo |
protected double |
longSensorLengthThreshold |
protected int |
millepedeId |
protected Map<Integer,double[]> |
noiseMap |
static int |
NUMBER_OF_SAMPLES |
private static int |
NUMBER_OF_SHAPE_FIT_PARAMETERS |
protected Map<Integer,Double> |
offsetMap |
protected Map<Integer,double[]> |
pedestalMap |
static String |
POSITRON_SIDE |
protected double |
readoutLongStripCapacitanceSlope |
private double |
readoutStripCapacitanceIntercept |
private double |
readoutStripCapacitanceSlope |
protected double |
senseLongStripCapacitanceSlope |
private double |
senseStripCapacitanceIntercept |
private double |
senseStripCapacitanceSlope |
protected Map<Integer,double[]> |
shapeFitParametersMap |
static int |
T0_INDEX |
protected double |
t0Shift |
static int |
TP_INDEX |
Constructor and Description |
---|
HpsSiSensor(int sensorid,
String name,
org.lcsim.detector.IDetectorElement parent,
String support,
org.lcsim.detector.identifier.IIdentifier id)
This class constructor matches the signature of
SiSensor . |
Modifier and Type | Method and Description |
---|---|
int |
getFebHybridID()
Get the FEB hybrid ID of the sensor.
|
int |
getFebID()
Get the front end board (FEB) ID associated with this sensor.
|
Double |
getGain(int channel)
Get the gain for the given channel.
|
int |
getLayerNumber()
Get the layer number of the sensor.
|
int |
getMillepedeId()
Get the sensor id used by millepede.
|
int |
getModuleNumber()
Get the module number of the sensor.
|
Double |
getNoise(int channel,
int sample)
Get the noise for the given channel and sample number.
|
int |
getNumberOfChannels()
Get the total number of channels in the sensor.
|
int |
getNumberOfSenseStrips() |
Double |
getOffset(int channel)
Get the offset for the given channel.
|
Double |
getPedestal(int channel,
int sample)
Get the pedestal for the given channel and sample number.
|
double |
getReadoutStripPitch() |
double |
getReadoutTransferEfficiency() |
double |
getSenseStripPitch() |
double |
getSenseTransferEfficiency() |
double[] |
getShapeFitParameters(int channel)
Get the shape fit parameters (amplitude, t0, tp) associated with a given channel.
|
String |
getSide()
Get the sensor side (ELECTRON or POSITRON).
|
protected double |
getStripLength()
Return the length of an
HpsSiSensor strip. |
double |
getT0Shift()
Get the t0 shift for this sensor.
|
org.lcsim.detector.tracker.silicon.SiTrackerIdentifierHelper |
getTrackerIdHelper()
Get the specific type of identifier helper for this component.
|
void |
initialize()
Setup the geometry and electrical characteristics of an
HpsSiSensor |
boolean |
isAxial()
Get whether this sensor is axial.
|
boolean |
isBadChannel(int channel)
Get whether the given channel is bad or not.
|
boolean |
isBottomLayer()
Get whether this sensor is in the bottom half of the detector.
|
boolean |
isStereo()
Get whether this sensor is stereo.
|
boolean |
isTopLayer()
Get whether this sensor is in the top half of the detector.
|
boolean |
isValidChannel(int channel)
Get whether the given channel number if valid.
|
long |
makeChannelID(int channel)
Generate an ID for a channel (strip) on a sensor.
|
void |
reset()
Reset the time dependent conditions data of this sensor.
|
void |
setAxial(boolean isAxial)
Flag the sensor as being axial.
|
void |
setBadChannel(int channel)
Flag the given channel as bad.
|
void |
setFebHybridID(int febHybridID)
Set the FEB hybrid ID of the sensor.
|
void |
setFebID(int febID)
Set the front end board (FEB) ID of the sensor.
|
void |
setGain(int channel,
double gain)
Set the gain value for the given channel.
|
void |
setMillepedeId(int id)
Set the sensor id used by millepede.
|
void |
setNoise(int channel,
double[] noise)
Set the noise value for the given channel.
|
void |
setOffset(int channel,
double offset)
Set the offset for the given channel.
|
void |
setPedestal(int channel,
double[] pedestal)
Set the pedestal value for all samples for a given channel.
|
void |
setShapeFitParameters(int channel,
double[] shapeFitParameters)
Set the shape fit results for the given channel.
|
void |
setStereo(boolean isStereo)
Flag the sensor as being stereo
|
void |
setT0Shift(double t0Shift)
Set the t0 shift for this sensor.
|
String |
toString() |
distanceFromSide, electricField, getBField, getBiasSurface, getBiasVoltage, getBulk, getDepletionVoltage, getReadoutElectrodes, getReadoutElectrodes, getSenseElectrodes, getSenseElectrodes, getSensorID, getThickness, getTransferEfficiencies, hasElectrodesOnSide, hasPixels, hasStrips, isACCoupled, isDoubleSided, makeStripId, setBiasSurface, setBiasVoltage, setBulk, setDepletionVoltage, setReadoutElectrodes, setSenseElectrodes, setSensorID, setTransferEfficiencies
addChild, clearReadouts, createReadout, findAncestors, findDescendants, findDetectorElement, findDetectorElement, findDetectorElement, findDetectorElement, getAncestry, getChildren, getExpandedIdentifier, getGeometry, getIdentifier, getIdentifierHelper, getName, getParameters, getParent, getReadout, getTop, hasChildren, hasGeometryInfo, hasReadout, isAncestor, isDescendant, isSensitive, setIdentifier, setIdentifierHelper, setParameters, setParent, setReadout, setSupport, setSupport, traverseAncestors, traverseDescendantsPostOrder, traverseDescendantsPreOrder
public static final int NUMBER_OF_SAMPLES
private static final int NUMBER_OF_SHAPE_FIT_PARAMETERS
public static final int AMPLITUDE_INDEX
public static final int T0_INDEX
public static final int TP_INDEX
public static final String ELECTRON_SIDE
public static final String POSITRON_SIDE
protected int febID
protected int febHybridID
protected double t0Shift
protected boolean isAxial
protected boolean isStereo
private final double readoutStripCapacitanceIntercept
private final double readoutStripCapacitanceSlope
private final double senseStripCapacitanceIntercept
private final double senseStripCapacitanceSlope
protected double longSensorLengthThreshold
protected double readoutLongStripCapacitanceSlope
protected double senseLongStripCapacitanceSlope
protected int millepedeId
public HpsSiSensor(int sensorid, String name, org.lcsim.detector.IDetectorElement parent, String support, org.lcsim.detector.identifier.IIdentifier id)
SiSensor
.sensorid
- The sensor ID.name
- The name of the sensor.parent
- The parent DetectorElement.support
- The physical support path.id
- The identifier of the sensor.public boolean isTopLayer()
public boolean isBottomLayer()
public int getModuleNumber()
public org.lcsim.detector.tracker.silicon.SiTrackerIdentifierHelper getTrackerIdHelper()
public boolean isAxial()
public boolean isStereo()
public Double getPedestal(int channel, int sample)
channel
- The channel number.sample
- The sample number.public Double getNoise(int channel, int sample)
channel
- The channel number.sample
- The sample number.public Double getGain(int channel)
channel
- The channel number.public Double getOffset(int channel)
channel
- The channel number.public double getReadoutTransferEfficiency()
public double getSenseTransferEfficiency()
public double[] getShapeFitParameters(int channel)
channel
- The channel number.public boolean isBadChannel(int channel)
channel
- The channel number.public int getNumberOfChannels()
public int getNumberOfSenseStrips()
public boolean isValidChannel(int channel)
channel
- The channel number.public int getFebID()
public int getFebHybridID()
public int getLayerNumber()
public double getT0Shift()
public String getSide()
public double getReadoutStripPitch()
public double getSenseStripPitch()
public long makeChannelID(int channel)
channel
- : Physical channel numberpublic void setPedestal(int channel, double[] pedestal)
channel
- The channel number.pedestal
- The pedestal values for all samples.public void setNoise(int channel, double[] noise)
channel
- The channel number.noise
- The noise values for all samples.public void setGain(int channel, double gain)
channel
- The channel number.gain
- The gain value.public void setOffset(int channel, double offset)
channel
- The channel number.offset
- The offset value.public void setShapeFitParameters(int channel, double[] shapeFitParameters)
channel
- The channel number.shapeFitParameters
- The shape fit results array (should be length 4).public void setBadChannel(int channel)
channel
- The channel number.public void setFebID(int febID)
febID
- FEB ID The FEB ID of the sensor.public void setFebHybridID(int febHybridID)
febHybridID
- FEB hybrid ID The FEB hybrid ID.public void setT0Shift(double t0Shift)
t0Shift
- The t0 shift for this sensor.public void setAxial(boolean isAxial)
isAxial
- true if the sensor is Axial, false otherwisepublic void setStereo(boolean isStereo)
isStereo
- true is the sensor is stereo, false otherwisepublic void reset()
public String toString()
toString
in class org.lcsim.detector.tracker.silicon.SiSensor
public void initialize()
HpsSiSensor
initialize
in interface org.lcsim.detector.IDetectorElement
initialize
in class org.lcsim.detector.DetectorElement
protected double getStripLength()
HpsSiSensor
strip. This is done by getting the face of the HpsSiSensor
and returning the length of the longest edge.HpsSiSensor
edgepublic void setMillepedeId(int id)
id
- - millepede sensor idpublic int getMillepedeId()
Copyright © 2019. All rights reserved.