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 */
1.3.9.1