1 package org.lcsim.event; 2 import java.util.List; 3 4 /** 5 * The LCIO cluster interface. 6 */ 7 8 public interface Cluster 9 { 10 /** Flagword that defines the type of cluster. Bits 0-15 can be used to denote the subdetectors 11 * that have contributed hits to the cluster. The definition of the bits has to be done 12 * elsewhere, e.g. in the run header. Bits 16-31 are used internally. 13 */ 14 public int getType(); 15 16 public int getParticleId(); 17 18 /** Energy of the cluster. 19 */ 20 public double getEnergy(); 21 22 /** 23 * Energy error of the cluster. 24 */ 25 public double getEnergyError(); 26 27 /** Position of the cluster. 28 */ 29 public double[] getPosition(); 30 31 /** Covariance matrix of the position (6 Parameters) 32 */ 33 public double[] getPositionError(); 34 35 /** Intrinsic direction of cluster at position: Theta. 36 * Not to be confused with direction cluster is seen from IP. 37 */ 38 public double getITheta(); 39 40 /** Intrinsic direction of cluster at position: Phi. 41 * Not to be confused with direction cluster is seen from IP. 42 */ 43 public double getIPhi(); 44 45 /** Number of hits in cluster. Hits on subclusters should be 46 * included, and hits belonging to more than one subclusters 47 * should be counted only once. 48 */ 49 public int getSize(); 50 51 /** Covariance matrix of the direction (3 Parameters) 52 */ 53 public double[] getDirectionError(); 54 55 /** Shape parameters (6 Parameters) - TO DO: definition 56 */ 57 public double[] getShape(); 58 59 /** The clusters that have been combined to this cluster. 60 */ 61 public List<Cluster> getClusters(); 62 63 /** The hits that have been combined to this cluster. 64 * Only available if CalorimeterHit objects have been saved with 65 * LCIO::RCHBIT_PTR==1. 66 * @see CalorimeterHit 67 */ 68 public List<CalorimeterHit> getCalorimeterHits(); 69 70 /** Returns the energy contribution of the hits 71 * Runs parallel to the CalorimeterHitVec from getCalorimeterHits() 72 */ 73 public double[] getHitContributions(); 74 75 /** A vector that holds the energy observed in a particular subdetectors. 76 * The mapping of indices to subdetectors is implementation dependent. 77 * To be used as convenient information or if hits are not stored in 78 * the data set, e.g. DST or FastMC. 79 */ 80 public double[] getSubdetectorEnergies(); 81 } 82