View Javadoc

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