org.lcsim.emcluster
Class EMCluster

java.lang.Object
  extended byhep.lcd.recon.cluster.util.AbstractCluster
      extended byorg.lcsim.emcluster.EMCluster
All Implemented Interfaces:
hep.lcd.event.Cluster, java.io.Serializable

public class EMCluster
extends hep.lcd.recon.cluster.util.AbstractCluster

A class encapsulating the behavior of an electromagnetic cluster.

Author:
Norman A. Graf
See Also:
Serialized Form

Field Summary
 
Fields inherited from class hep.lcd.recon.cluster.util.AbstractCluster
hits
 
Constructor Summary
EMCluster(hep.lcd.geometry.CalorimeterCell cell, Lorentz4Vector vec, java.util.Vector members, int layers, double samplingFraction)
          Fully qualified constructor
 
Method Summary
 void calculateVec()
          Calculate the cluster four-momentum.
 java.util.Vector cells()
          The constituent cells
 double[] centroid()
          The unweighted spatial centroid (x,y,z) of the cluster line fit
 double chisq()
           
 double clusterEnergy()
          The cluster energy corrected for sampling fractions
 double[] directionCosines()
          The direction cosines of the cluster line fit
 double highestCellEnergy()
          The energy of the highest energy cell in this cluster
 hep.lcd.event.CalorimeterHit hottestCell()
          The CalorimeterHit in this cluster with the highest energy
 boolean isEndCap()
          Returns topological position of cluster.
 boolean isNorth()
          Returns topological position of cluster.
 double[] layerEnergies()
          The cluster layer energies
 double layerEnergy(int layer)
          The cluster energy deposited in a specific layer
 double layerWidth(int layer)
          The cluster width (energy second moment) deposited in a specific layer
 void setChisq(double chisq)
           
 java.lang.String toString()
          Output stream
 Lorentz4Vector vector()
          The cluster four-momentum
 double width()
          The cluster width (energy second moment).
 
Methods inherited from class hep.lcd.recon.cluster.util.AbstractCluster
addHit, calculateDerivedQuantities, calculateEnergyTensor, getAverageLayerEnergy, getAverageLayerHits, getCE, getCenterofEnergy, getCERadius, getClusterEnergy, getClusterStartDepth, getContributedEnergy, getEEM, getEHAD, getEigenvectors, getEnergy, getEnergyPhi, getEnergyRadius, getEnergyTheta, getHits, getInnerMostHitLayer, getMCParticles, getNE, getNHits, getNormalizedEigenvalues, getOuterMostHitLayer, getPrincipalAxes, getRMSPhi, getRMSRadius, getRMSTheta, getScaledContributedEnergy, setNoTrace, setTrace
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

EMCluster

public EMCluster(hep.lcd.geometry.CalorimeterCell cell,
                 Lorentz4Vector vec,
                 java.util.Vector members,
                 int layers,
                 double samplingFraction)
Fully qualified constructor

Parameters:
cell - The CalorimeterCell used for indexing
vec - The Lorentz four-vector
members - A Vector of CalorimeterHits
layers - The number of layers in the EM Calorimeter
samplingFraction - The conversion from measured to deposited energy
Method Detail

calculateVec

public void calculateVec()
Calculate the cluster four-momentum. The Lorentz four-vector is derived from the cluster cells.


width

public double width()
The cluster width (energy second moment).

Returns:
The cluster width

vector

public Lorentz4Vector vector()
The cluster four-momentum

Returns:
The Lorentz four-vector

cells

public java.util.Vector cells()
The constituent cells

Returns:
Vector of the CalorimeterHits constituting the cluster.

layerEnergy

public double layerEnergy(int layer)
The cluster energy deposited in a specific layer

Returns:
The cluster energy in layer layer

layerEnergies

public double[] layerEnergies()
The cluster layer energies

Returns:
The array of cluster energies in each layer.

clusterEnergy

public double clusterEnergy()
The cluster energy corrected for sampling fractions

Returns:
The cluster energy

highestCellEnergy

public double highestCellEnergy()
The energy of the highest energy cell in this cluster

Returns:
The energy of the highest energy cell in this cluster corrected by the sampling fraction.

hottestCell

public hep.lcd.event.CalorimeterHit hottestCell()
The CalorimeterHit in this cluster with the highest energy

Returns:
The CalorimeterHit in this cluster with the highest energy

layerWidth

public double layerWidth(int layer)
The cluster width (energy second moment) deposited in a specific layer

Returns:
The cluster width in layer layer

centroid

public double[] centroid()
The unweighted spatial centroid (x,y,z) of the cluster line fit

Returns:
The unweighted spatial centroid (x,y,z) of the cluster

directionCosines

public double[] directionCosines()
The direction cosines of the cluster line fit

Returns:
The direction cosines of the cluster

isEndCap

public boolean isEndCap()
Returns topological position of cluster.

Returns:
true if in EndCap

isNorth

public boolean isNorth()
Returns topological position of cluster.

Returns:
true if in "North" EndCap

setChisq

public void setChisq(double chisq)

chisq

public double chisq()

toString

public java.lang.String toString()
Output stream

Returns:
String representation of the cluster