Back to index

See source file

PdbCoordinate.hh

 
//----------------------------------------------------------------------------- 
// 
//  The pdbcal package 
//  Copyright (C) PHENIX collaboration, 1999 
// 
//  Declaration of class PdbCoordinate 
// 
//  Purpose: User defined storage class 
// 
//  Description: 
// 
//  Author: messer 
//----------------------------------------------------------------------------- 
#ifndef __PDBCOORDINATE_DDL__ 
#define __PDBCOORDINATE_DDL__ 
 
#include "PdbCalChan.hh" 
#include <stdlib.h> 
 
class PdbCoordinate : public PdbCalChan { 
public: 
   enum { x=0, y=1, z=2}; 
    
   PdbCoordinate(); 
   PdbCoordinate(float x, float y, float z); 
   PdbCoordinate(const PdbCoordinate &); 
   virtual ~PdbCoordinate(); 
 
   friend PdbCoordinate operator- (const PdbCoordinate &, const PdbCoordinate &); 
   friend PdbCoordinate operator+ (const PdbCoordinate &, const PdbCoordinate &); 
    
   size_t getNdim() const { return nDim;} 
   float  getParameter(size_t) const; 
   float  getParError(size_t) const; 
   const  char* getParName(size_t) const; 
 
   void setParameter(size_t, float); 
   void setParError(size_t, float); 
   void setAllParameters(float, float, float); 
   void setAllParErrors(float, float, float); 
 
   virtual void print() const; 
 
private: 
   size_t nDim; 
   float  fCoordinate[3];   
   float  fCoordinateError[3];   // Errors on the parameters. 
 
}; 
 
inline PdbCoordinate operator- (const PdbCoordinate & a, const PdbCoordinate & b) { 
 
   PdbCoordinate c; 
   for (int i=0 ; i<c.getNdim(); i++) { 
     c.setParameter(i ,a.getParameter(i) - b.getParameter(i)); 
   } 
   return c; 
} 
 
inline PdbCoordinate operator+ (const PdbCoordinate & a, const PdbCoordinate & b) { 
 
   PdbCoordinate c; 
   for (int i=0 ; i<c.getNdim(); i++) { 
     c.setParameter(i,a.getParameter(i) + b.getParameter(i)); 
   } 
   return c; 
} 
 
#endif /* __PDBCOORDINATE_DDL__ */ 

Back to index

See source file