Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

Cluster.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 // AID-GENERATED
00003 // =========================================================================
00004 // This class was generated by AID - Abstract Interface Definition          
00005 // DO NOT MODIFY, but use the org.freehep.aid.Aid utility to regenerate it. 
00006 // =========================================================================
00007 #ifndef EVENT_CLUSTER_H
00008 #define EVENT_CLUSTER_H 1
00009 
00010 #include "EVENT/CalorimeterHit.h"
00011 #include "EVENT/Cluster.h"
00012 #include "EVENT/LCObject.h"
00013 #include "EVENT/ParticleID.h"
00014 #include "LCIOSTLTypes.h"
00015 #include "empty_ignore.h"
00016 
00017 namespace EVENT {
00018 
00019 
00020 class Cluster ;
00021 /**Vector of (pointers to) Clusters.*/
00022 typedef std::vector<Cluster*> ClusterVec ;
00023 /** The LCIO cluster.
00024  * 
00025  * @author gaede
00026  * @version $Id: Cluster.aid,v 1.14 2006/08/03 16:53:34 gaede Exp $
00027  */
00028 
00029 
00030 class Cluster : public LCObject {
00031 
00032 public: 
00033     /// Destructor.
00034     virtual ~Cluster() { /* nop */; }
00035 
00036 
00037     /** Useful typedef for template programming with LCIO */
00038     typedef Cluster lcobject_type ;
00039 
00040     /** Flagword that defines the type of cluster. Bits 0-15 can be used to denote the subdetectors
00041      *  that have contributed hits to the cluster. For the definition of the bits 
00042      *  check/Set the collection variables ClusterTypeBitNames and ClusterTypeBitIndices.
00043      *  </br>Bits 16-31 are used internally.
00044      */
00045     virtual int getType() const = 0;
00046 
00047     /** Energy of the cluster.
00048      */
00049     virtual float getEnergy() const = 0;
00050 
00051     /** Position of the cluster.
00052      */
00053     virtual const float* getPosition() const = 0;
00054 
00055     /** Covariance matrix of the position (6 Parameters)
00056     */
00057     virtual const FloatVec & getPositionError() const = 0;
00058 
00059     /** Intrinsic direction of cluster at position: Theta.
00060      * Not to be confused with direction cluster is seen from IP.
00061      */
00062     virtual float getITheta() const = 0;
00063 
00064     /** Intrinsic direction of cluster at position: Phi.
00065      * Not to be confused with direction cluster is seen from IP.
00066      */
00067     virtual float getIPhi() const = 0;
00068 
00069     /** Covariance matrix of the direction (3 Parameters)
00070      */
00071     virtual const FloatVec & getDirectionError() const = 0;
00072 
00073     /** Shape parameters - check/set  collection parameter
00074      *  ClusterShapeParameters for size and names of parameters.
00075      */
00076     virtual const FloatVec & getShape() const = 0;
00077 
00078 //     /** Type hypotheses: 3 Parameters: compatible with EM, HAD, muon cluster
00079 //      */
00080 //     public const FloatVec& getParticleType() const ;
00081     /** The particle Id's sorted by their likelihood.
00082      * @see ParticleID
00083      */
00084     virtual const ParticleIDVec & getParticleIDs() const = 0;
00085 
00086     /** The clusters that have been combined to this cluster.
00087      */
00088     virtual const ClusterVec & getClusters() const = 0;
00089 
00090     /** The hits that have been combined to this cluster.
00091      *  Only available if collection flag bit LCIO::CLBIT_HITS==1 and if 
00092      *  the CalorimeterHit objects have not been saved with LCIO::RCHBIT_NO_PTR==1.
00093      *  @see CalorimeterHit
00094      */
00095     virtual const CalorimeterHitVec & getCalorimeterHits() const = 0;
00096 
00097     /** Returns the energy contribution of the hits 
00098      *  Runs parallel to the CalorimeterHitVec from getCalorimeterHits()
00099      */
00100     virtual const FloatVec & getHitContributions() const = 0;
00101 
00102     /** A vector that holds the energy observed in a particular subdetectors.
00103      *  The mapping of indices to subdetectors is implementation dependent.
00104      *  To be used as convenient information or if hits are not stored in 
00105      *  the data set, e.g. DST or FastMC. 
00106      *  Check/set collection parameter ClusterSubdetectorNames for decoding the
00107      *  indices of the array.
00108      */
00109     virtual const FloatVec & getSubdetectorEnergies() const = 0;
00110 }; // class
00111 } // namespace EVENT
00112 #endif /* ifndef EVENT_CLUSTER_H */

Generated on Sun Jun 3 06:31:59 2007 for A TPC Tracking Environment by  doxygen 1.3.9.1