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_SIMCALORIMETERHIT_H 00008 #define EVENT_SIMCALORIMETERHIT_H 1 00009 00010 #include "EVENT/LCObject.h" 00011 #include "empty_ignore.h" 00012 00013 namespace EVENT { 00014 00015 class MCParticle; 00016 00017 /** The generic simulated calorimeter hit. 00018 * 00019 * @author gaede 00020 * @version $Id: SimCalorimeterHit.aid,v 1.8 2006/03/24 13:25:52 gaede Exp $ 00021 */ 00022 00023 class SimCalorimeterHit : public LCObject { 00024 00025 public: 00026 /// Destructor. 00027 virtual ~SimCalorimeterHit() { /* nop */; } 00028 00029 00030 /** Useful typedef for template programming with LCIO */ 00031 typedef SimCalorimeterHit lcobject_type ; 00032 00033 /**Returns the detector specific (geometrical) cell id. 00034 */ 00035 virtual int getCellID0() const = 0; 00036 00037 /**Returns the second detector specific (geometrical) cell id. 00038 * 0 if information is not stored - check the flag word (bit CHBIT_ID1) 00039 * of the collection. Default is to store only cellid0. 00040 */ 00041 virtual int getCellID1() const = 0; 00042 00043 /** Returns the energy of the hit in [GeV]. 00044 */ 00045 virtual float getEnergy() const = 0; 00046 00047 /** Returns the position of the hit in world coordinates. 00048 * NULL if information is not stored - check the flag word (bit CHBIT_LONG) 00049 * of the collection. 00050 */ 00051 virtual const float* getPosition() const = 0; 00052 00053 /** Returns the number of MC contributions to the hit. 0 if 00054 * information is not stored. Renamed to getNMCContributions. 00055 * @deprecated 00056 * @see getNMCContributions() 00057 */ 00058 virtual int getNMCParticles() const = 0; 00059 00060 /** Returns the number of MC contributions to the hit. 0 if 00061 * information is not stored. There are two levels of detail: if 00062 * collection flag bit LCIO.CHBIT_PDG==1 then all simulator steps' 00063 * contributions to the hit are stored, otherwise there is only one 00064 * contribution for every particle entering the calorimeter. 00065 */ 00066 virtual int getNMCContributions() const = 0; 00067 00068 /** Returns the energy in [GeV] of the i-th contribution to the hit. 00069 * @see getNMCContributions() 00070 */ 00071 virtual float getEnergyCont(int i) const = 0; 00072 00073 /** Returns the time of the i-th in [ns] contribution to the hit. 00074 * @see getNMCContributions() 00075 */ 00076 virtual float getTimeCont(int i) const = 0; 00077 00078 /** Returns the PDG code of the shower particle that caused this contribution. 00079 * Check the flag word bit LCIO.CHBIT_PDG of the collection whether this information 00080 * is available. 00081 * @see getNMCContributions() 00082 */ 00083 virtual int getPDGCont(int i) const = 0; 00084 00085 /** Returns the MCParticle that caused the shower responsible for this contribution to the hit. 00086 * This is the particle that flew into the calorimeter and not the shower particle that made the 00087 * energy deposition. 00088 * @see getNMCContributions() 00089 */ 00090 virtual MCParticle * getParticleCont(int i) const = 0; 00091 }; // class 00092 } // namespace EVENT 00093 #endif /* ifndef EVENT_SIMCALORIMETERHIT_H */
1.3.9.1