/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Emc/EmcCalib/EmcBhaCalib/EmcBhaCalib-00-00-34/EmcBhaCalib/EmcShower.h

Go to the documentation of this file.
00001 #ifndef EMCSHOWER_H
00002 #define EMCSHOWER_H
00003 
00004 #include <list>
00005 #include "EmcBhaCalib/EmcShDigi.h"
00006 #include "CLHEP/Geometry/Point3D.h"
00007 #ifndef ENABLE_BACKWARDS_COMPATIBILITY
00008 typedef HepGeom::Point3D<double> HepPoint3D;
00009 #endif
00010 
00011 using namespace std;
00012 //------------------------------------
00013 // Collaborating Class Declarations --
00014 //------------------------------------
00015 
00016 class EmcShower 
00017 {
00018  public:
00019   
00020   // Constructors
00021   EmcShower();
00022   
00023   // Destructors
00024   ~EmcShower(); 
00025   
00026   //Copy and assignment
00027   EmcShower(const EmcShower& aShower);
00028   EmcShower& operator=(const EmcShower& aShower);
00029 
00030   // Operators
00031   bool operator==(const EmcShower & otherShower) const;
00032   bool operator!=(const EmcShower & otherShower) const;
00033   bool operator>=(const EmcShower & otherShower) const;
00034   bool operator<=(const EmcShower & otherShower) const;
00035   bool operator>(const EmcShower & otherShower) const;
00036   bool operator<(const EmcShower & otherShower) const;
00037   
00038   const double& energy() const {return m_energy;}
00039   const double& theta() const {return m_theta;}
00040   const double& phi() const {return m_phi;}
00041   const unsigned int& module() const {return m_module;}
00042   const unsigned int& thetaIndex() const {return m_thetaIndex;}
00043   const unsigned int& phiIndex() const {return m_phiIndex;}
00044   const long int& numberOfDigis() const {return m_numberOfDigis;}
00045   const std::list<EmcShDigi> digiList() const {return  m_digiList;} 
00046   const EmcShDigi maxima() const { return m_maxima;}
00047   const HepPoint3D& where() const {return m_where;}
00048   const double& x() const {return m_x;}
00049   const double& y() const {return m_y;}
00050   const double& z() const {return m_z;}
00051 
00052   // Modifiers
00053   void addDigi( EmcShDigi d );  
00054   
00055   void setEnergy(double energy) {m_energy = energy;}
00056   void setTheta(double theta) {m_theta = theta;}
00057   void setPhi(double phi) {m_phi = phi;}
00058   void setModule(unsigned int module) {m_module = module;}
00059   void setThetaIndex(unsigned int thetaIndex) {m_thetaIndex = thetaIndex;}
00060   void setPhiIndex(unsigned int phiIndex) {m_phiIndex = phiIndex;}
00061   void setNumberOfDigis(long int numberOfDigis ) {m_numberOfDigis = numberOfDigis;}
00062   void setDigiList(std::list<EmcShDigi> digiList) {m_digiList = digiList;}
00063   void setMaxima( EmcShDigi maxima) {m_maxima = maxima;}
00064   void setWhere(HepPoint3D where) {m_where = where;}
00065   void setX(double x) {m_x = x;}
00066   void setY(double y) {m_y = y;}
00067   void setZ(double z) {m_z = z;}
00068   
00069  private:
00070   
00071   double m_energy;
00072   double m_theta;
00073   double m_phi;
00074   unsigned int m_module;
00075   unsigned int m_thetaIndex;
00076   unsigned int m_phiIndex;
00077   long int m_numberOfDigis;
00078   EmcShDigi m_maxima;
00079   std::list<EmcShDigi> m_digiList;
00080   HepPoint3D m_where;
00081   double m_x;
00082   double m_y;
00083   double m_z;  
00084 };
00085 
00086 
00087 inline bool EmcShower::operator!=(const EmcShower& otherShower) const {
00088   return !(*this == otherShower);
00089 }
00090 
00091 #endif  // EMCSHOWER_H
00092 

Generated on Tue Nov 29 22:58:15 2016 for BOSS_7.0.2 by  doxygen 1.4.7