...
- Contains the basic energy reconstruction parameters
where USHERNFS is /nfs/slac/g/glast/users/glground/usherNo Format $USHERNFS/MemLeak #ifndef CalParams_H #define CalParams_H #include "geometry/Point.h" #include "geometry/Vector.h" #include "CLHEP/Matrix/Matrix.h" /** * @class CalParams * * @brief Gaudi TDS class to store the calorimeter parameters and associated covariance * matrix. * * @author Bill Atwood, Tracy Usher * * $Header: /nfs/slac/g/glast/ground/cvs/Event/Event/Recon/TkrRecon/CalParams.h,v 1.3 2004/11/15 21:10:24 usher Exp $ */ #include <iostream> namespace Event { //Namespace Event class CalParams { public: /// Default constructor CalParams() {initDataMembers();} /// Constructor given Points, Vectors and matrices CalParams(double energy, double eneError, const Point& centroid, const HepMatrix& centroidErr, const Vector& axis, const HepMatrix& axisErr); /// Direct construction from all the elements (the old fashioned way) CalParams(double energy, double eneError, double xCntrd, double yCntrd, double zCntrd, double cntdxx, double cntdxy, double cntdxz, double cntdyy, double cntdyz, double cntdzz, double xAxis, double yAxis, double zAxis, double axsdxx, double axsdxy, double axsdxz, double axsdyy, double axsdyz, double axsdzz); /// Copy constructor //CalParams (const CalParams& right); ~CalParams() {} /// Retrieve the energy inline const double getEnergy() const {return m_energy;} inline const double getEnergyErr() const {return m_eneError;} /// Retrieve the centroid position inline const Point getCentroid() const {return m_clusterCentroid;} /// Errors in a HepMatrix const HepMatrix getCentroidErrs() const; /// Direct access to errors inline const double getxPosxPos() const {return m_cenxx; } inline const double getxPosyPos() const {return m_cenxy; } inline const double getxPoszPos() const {return m_cenxz; } inline const double getyPosyPos() const {return m_cenyy; } inline const double getyPoszPos() const {return m_cenyz; } inline const double getzPoszPos() const {return m_cenzz; } /// Retrieve the centroid position inline const Vector getAxis() const {return m_clusterAxis;} /// Errors in a HepMatrix const HepMatrix getAxisErrs() const; /// Direct access to errors inline const double getxDirxDir() const {return m_axisxx; } inline const double getxDiryDir() const {return m_axisxy; } inline const double getxDirzDir() const {return m_axisxz; } inline const double getyDiryDir() const {return m_axisyy; } inline const double getyDirzDir() const {return m_axisyz; } inline const double getzDirzDir() const {return m_axiszz; } /// Define an ( ) operator (allows read/write - indexing from 1!!) //double& operator()(const int &i); //const double& operator()(const int &i) const; //double& operator()(const int &i, const int &j); //const double& operator()(const int &i, const int &j) const; /// Set the energy inline void setEnergy(const double& energy) {m_energy = energy;} inline void setEnergyErr(const double& energyErr) {m_eneError = energyErr;} /// Set parameters for centroid inline void setCentroid(const Point& pos) {m_clusterCentroid = pos; } void setCentroidErrs(const HepMatrix& errs); /// Set errors inline void setxDirxDir(const double& val) {m_cenxx = val; } inline void setxDiryDir(const double& val) {m_cenxy = val; } inline void setxDirzDir(const double& val) {m_cenxz = val; } inline void setyDiryDir(const double& val) {m_cenyy = val; } inline void setyDirzDir(const double& val) {m_cenyz = val; } inline void setzDirzDir(const double& val) {m_cenzz = val; } /// Set parameters for axis inline void setAxis(const Vector& axis) {m_clusterAxis = axis; } void setAxisErrs(const HepMatrix& errs); /// Set errors inline void setxPosxPos(const double& val) {m_axisxx = val; } inline void setxPosyPos(const double& val) {m_axisxy = val; } inline void setxPoszPos(const double& val) {m_axisxz = val; } inline void setyPosySlp(const double& val) {m_axisyy = val; } inline void setyPoszPos(const double& val) {m_axisyz = val; } inline void setzPoszPos(const double& val) {m_axiszz = val; } std::ostream& fillStream( std::ostream& s ) const; friend std::ostream& operator<< ( std::ostream& s, const CalParams& obj ) { return obj.fillStream(s); } private: /// Private intialization method void initDataMembers(); /// Energy and associated error double m_energy; double m_eneError; /// Cluster centroid Point m_clusterCentroid; /// Error matrix for centroid stored in upper diagonal form double m_cenxx; // Cov(1,1) = dx * dx double m_cenxy; // Cov(1,2) = Cov(2,1) = dx * dy double m_cenxz; // Cov(1,3) = Cov(3,1) = dx * dz double m_cenyy; // Cov(2,2) = dy * dy double m_cenyz; // Cov(2,3) = Cov (3,2)= dy * dz double m_cenzz; // Cov(3,3) = dz * dz /// Cluster axis, assumed to pass through centroid Vector m_clusterAxis; /// Error matrix for centroid stored in upper diagonal form double m_axisxx; // Cov(1,1) = dx * dx double m_axisxy; // Cov(1,2) = Cov(2,1) = dx * dy double m_axisxz; // Cov(1,3) = Cov(3,1) = dx * dz double m_axisyy; // Cov(2,2) = dy * dy double m_axisyz; // Cov(2,3) = Cov (3,2)= dy * dz double m_axiszz; // Cov(3,3) = dz * dz }; }; //Namespace Event #endif
...