Main Page | Packages | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

SctData.ModuleDefect Class Reference

This class represents a possible defect with a module. More...

Collaboration diagram for SctData.ModuleDefect:

Collaboration graph
[legend]
List of all members.

Other Defects

} {

 ModuleDefect (ModuleDefect prototype, ModuleElement element)
 Public constructor: Copy the given ModuleDefect and give ModuleElement.

boolean isSevere ()
 Return true if this ModuleDefect is severe.

ModuleElement getModuleElement ()
 Gets the module element affected by this defect.

boolean isPrototype ()
 True if this is a prototype, false if it actually represents a defect.

boolean isUnfittable ()
 returns true if defect is serious enough to prevent fitting to this channel.

boolean isUnuseable ()
 SCTDAQ definitition of unusable is dead or stuckon.

boolean isDodgy ()
 SCTDAQ definitition of `dodgy' is any defect other than dead or stuckon.

String getName ()
 Gets the name of this defect.

String getDescription ()
 Get a human readable description for this ModuleDefect.

double getParameter ()
 Gets a parameter that can be used to determine if something is defective.

boolean isSameTypeAs (ModuleDefect defect)
 Comparison operators.

boolean equals (Object o)
 Returns true if the defect types are the same.

String getClassName ()
void write (OStream s, ObjectManager o) throws java.io.IOException
ModuleDefect read (IStream s, ObjectManager o) throws java.io.IOException
 For I/O use.

ModuleDefect NO_HI = new ModuleDefect(19, true, "NO_HI", "High noise occupancy", 0.0005)
ModuleDefect MEAN_ERROR = new ModuleDefect(16, true, "MEAN_ERROR", "Error in the mean", 0)
 high noise occupancy

ModuleDefect SIG_ERROR = new ModuleDefect(17, true, "SIG_ERROR", "Error in the sigma", 0)
ModuleDefect STUCK_CELL = new ModuleDefect(21, false, "STUCK_CELL","Stuck cell in the pipeline",0.)
 pipeline

ModuleDefect DEAD_CELL = new ModuleDefect(20, false, "DEAD_CELL","Dead cell in the pipeline",0.)
 pipeline

 ModuleDefect (int id, boolean severe, String name, String d, double parameter)
 Private constructor.

int id
boolean severe
String name
String description
double parameter
ModuleElement element

Static Public Attributes

Fit Defects
ModuleDefect DEAD = new ModuleDefect(1, true, "DEAD", "Dead channel - output always <1%", 0.01)
 Output always v small.

ModuleDefect STUCKON = new ModuleDefect(2, true, "STUCKON", "Dead channel - output always > 98% occupancy", 0.98)
 Output always v high.

ModuleDefect OVER = new ModuleDefect(4, false, "OVER", "Occupancy greater than 100%", 1.)
 Occupancy larger than max.

ModuleDefect UNDER = new ModuleDefect(3, true, "UNDER", "Occupancy never reaches 100%", 1.)
 Occupancy never reaches mas.

ModuleDefect NOINIT = new ModuleDefect(18, true, "NOINIT", "Couldn't initialize fit", 0)
 Couldn't initialize the fit.

ModuleDefect FIT_UNDER = new ModuleDefect(5, true, "FIT_UNDER", "Fitted mean out of bounds low", 0)
ModuleDefect FIT_OVER = new ModuleDefect(6, true, "FIT_OVER", "Fitted mean out of bounds high", 0)
ModuleDefect SIG_UNDER = new ModuleDefect(7, true, "SIG_UNDER", "Fitted sigma out of bounds low", 0)
ModuleDefect SIG_OVER = new ModuleDefect(8, true, "SIG_OVER", "Fitted sigma out of bounds high", 0)
NPt Gain Defects
ModuleDefect LO_GAIN = new ModuleDefect(9, true, "LO_GAIN", "Gain is less than 0.75*chip average", 0.75)
 Gain < 0.75 * chip average.

ModuleDefect HI_GAIN = new ModuleDefect(10, true, "HI_GAIN", "Gain is higher than 1.25*chip average", 1.25)
 Gain > 1.25 * chip average.

ModuleDefect LO_OFFSET = new ModuleDefect(11, true, "LO_OFFSET", "Offset is less than -100", -100)
 Offset < -100.

ModuleDefect HI_OFFSET = new ModuleDefect(12, true, "HI_OFFSET", "Offset is higher than 12-", 120)
 Offset > 120.

ModuleDefect UNBONDED = new ModuleDefect(13, true, "UNBONDED", "Noise is less than 750", 750)
 Noise <= 750.

ModuleDefect PARTBONDED = new ModuleDefect(14, false, "PARTBONDED", "Noise is less than 1100", 1100)
 Noise <= 1100.

ModuleDefect NOISY = new ModuleDefect(15, true, "NOISY", "Noise is > 1.15*chip average", 1.15)
 Noise > 1.15* av chip noise.

Trim Defects
} {

ModuleDefect TR_RANGE = new ModuleDefect(22, false, "TR_RANGE","Unusual chip trim step size",0.)
 Unexpected chip trim step size.

ModuleDefect TR_STEP = new ModuleDefect(23, false, "TR_STEP","Channel trim step size different from chip",4.)
 Channel step different from chip.

ModuleDefect TR_OFFSET = new ModuleDefect(24, false, "TR_OFFSET","Channel trim range offset different from chip",4.)
 Channel offset different from chip.

ModuleDefect TR_NOTRIM = new ModuleDefect(25, true, "TR_NOTRIM","Untrimmable channel",0.)
 Untrimmable channel.


Static Private Attributes

HashMap defectMap = new HashMap(20)

Detailed Description

This class represents a possible defect with a module.

A ModuleDefect has a description and can be classified as severe or not severe.

Todo:
Is this enough? Do we need to add more classes here? Should we be able to add other ModuleDefect s anywhere in our code or is having a central repository here enough? Should this class be renamed ChannelDefect?
Author:
Matthew Palmer

Definition at line 14 of file ModuleDefect.java.


Member Function Documentation

boolean SctData.ModuleDefect.equals Object  o  ) 
 

Returns true if the defect types are the same.

Returns false if either is a prototype.

Note:
defects need NOT refer to the same (physical) channels.

Definition at line 121 of file ModuleDefect.java.

References SctData.ModuleDefect.element, SctData.ModuleElement.equals(), SctData.ModuleDefect.id, and SctData.ModuleDefect.isPrototype().

Here is the call graph for this function:

boolean SctData.ModuleDefect.isPrototype  ) 
 

True if this is a prototype, false if it actually represents a defect.

Todo:
is this necessary?

Definition at line 73 of file ModuleDefect.java.

Referenced by SctData.ModuleDefect.equals().

boolean SctData.ModuleDefect.isSameTypeAs ModuleDefect  defect  ) 
 

Comparison operators.

Returns true if the defect types are the same. AND defects refer to the same channels.

Definition at line 112 of file ModuleDefect.java.

References SctData.ModuleDefect.id.

Referenced by SctData.ModuleDefect.isDodgy(), SctData.ModuleDefect.isUnfittable(), and SctData.ModuleDefect.isUnuseable().


The documentation for this class was generated from the following file:
Generated on Thu Jul 15 09:57:12 2004 for SCT DAQ/DCS Software - Java by doxygen 1.3.5