CLHEP/Geometry/Normal3D.h
// -*- C++ -*-
// $Id: Normal3D.h,v 1.8 2001/06/14 13:40:48 evc Exp $
// ---------------------------------------------------------------------------
//
// This file is a part of the CLHEP - a Class Library for High Energy Physics.
//
// Geometrical 3D Normal class.
//
// Author: Evgeni Chernyaev <Evgueni.Tcherniaev@cern.ch>
//
// History:
// 13.09.96 E.Chernyaev - initial version
// 12.06.01 E.Chernyaev - CLHEP-1.7: introduction of BasicVector3D to decouple
// the functionality from Hep3Vector
//
#ifndef HEP_NORMAL3D_H
#define HEP_NORMAL3D_H
#include "CLHEP/config/CLHEP.h"
#include "CLHEP/Geometry/BasicVector3D.h"
class HepTransform3D;
class HepNormal3D : public BasicVector3D {
public:
// Default constructor
HepNormal3D() {}
// Constructor from three doubles
HepNormal3D(double x, double y, double z) : BasicVector3D(x,y,z) {}
// Constructor from base class
HepNormal3D(const BasicVector3D & v) : BasicVector3D(v) {}
// Constructor from Hep3Vector
HepNormal3D(const Hep3Vector & v) : BasicVector3D(v) {}
// Destructor
~HepNormal3D() {}
// Assignment
HepNormal3D & operator=(const HepNormal3D & v) {
set(v.x(), v.y(), v.z()); return *this;
}
// Assignment from BasicVector3D and
// classes derived from it (Point3D, Vector3D)
HepNormal3D & operator=(const BasicVector3D & v) {
set(v.x(), v.y(), v.z()); return *this;
}
// Transformation
HepNormal3D & transform(const HepTransform3D & m);
};
#include "CLHEP/Geometry/Transform3D.h"
inline HepNormal3D & HepNormal3D::transform(const HepTransform3D & m) {
return *this = m * (*this);
}
#endif /* HEP_NORMAL3D_H */
Generated by GNU enscript 1.6.1.