BOSS 6.6.4.p01
BESIII Offline Software System
Loading...
Searching...
No Matches
DifPoint.h
Go to the documentation of this file.
1//--------------------------------------------------------------------------
2// File and Version Information:
3// $Id: DifPoint.h,v 1.2 2009/12/23 02:59:56 zhangy Exp $
4//
5// Description:
6// Class Header for |DifPoint|
7// What i do ?
8//
9// Environment:
10// Software developed for the BaBar Detector at the SLAC B-Factory.
11//
12// Author List:
13// A. Snyder
14//
15// Copyright Information:
16// Copyright (C) 1996 SLAC
17//
18// History:
19// Migration for BESIII MDC
20//
21//------------------------------------------------------------------------
22
23#ifndef DifPoint_H
24#define DifPoint_H
25
26#include <assert.h>
28#include "CLHEP/Geometry/Point3D.h"
29#ifndef ENABLE_BACKWARDS_COMPATIBILITY
31#endif
32
33
34class DifPoint:public DifVector {
35
36public:
38 :DifVector(p) {}
40 :DifVector() {}
42
43 DifPoint(const DifNumber& X,const DifNumber& Y,const DifNumber& Z)
44 :DifVector(X,Y,Z) {}
45 DifPoint(double X,double Y,double Z)
46 :DifVector(X,Y,Z) {}
47
48 //operators - sensible only
49 inline DifPoint& operator=(const DifPoint& p);
50 inline DifPoint& operator+=(const DifVector& v);
51 inline DifPoint& operator-=(const DifVector& v);
52 inline DifPoint& operator*=(const DifNumber& n);
53 inline DifPoint& operator/=(const DifNumber& n);
54
55 //binary operators
56
57 inline friend DifPoint operator+
58 (const DifPoint& p,const DifVector& v);
59 inline friend DifPoint operator+
60 (const DifVector& v,const DifPoint& p);
61 inline friend DifPoint operator-
62 (const DifPoint& p,const DifVector& v);
63 inline friend DifVector operator-
64 (const DifPoint& a,const DifPoint& b);
65
66 //change of scale is ok (e.g. m->cm)
67 inline friend DifPoint operator*
68 (const DifPoint& p,const DifNumber& n);
69 inline friend DifPoint operator*
70 (const DifNumber& n,const DifPoint& p);
71 inline friend DifPoint operator/
72 (const DifPoint& v,const DifNumber& n);
73
74
75private:
76 //disable senseless operations
77 DifPoint& operator=(const DifVector& v);
78 DifPoint& operator+=(const DifPoint& p);
79 DifPoint& operator-=(const DifPoint& p);
80
81public:
82 //bes interface routines
84};
85
86#include "MdcRecoUtil/DifPoint.icc"
87
88
89#endif
90
const Int_t n
HepGeom::Point3D< double > HepPoint3D
Definition: DifPoint.h:30
**********Class see also m_nmax DOUBLE PRECISION m_amel DOUBLE PRECISION m_x2 DOUBLE PRECISION m_alfinv DOUBLE PRECISION m_Xenph INTEGER m_KeyWtm INTEGER m_idyfs DOUBLE PRECISION m_zini DOUBLE PRECISION m_q2 DOUBLE PRECISION m_Wt_KF DOUBLE PRECISION m_WtCut INTEGER m_KFfin *COMMON c_KarLud $ !Input CMS energy[GeV] $ !CMS energy after beam spread beam strahlung[GeV] $ !Beam energy spread[GeV] $ !z boost due to beam spread $ !electron beam mass *ff pair spectrum $ !minimum v
Definition: KarLud.h:35
DifPoint & operator+=(const DifVector &v)
DifPoint & operator*=(const DifNumber &n)
DifPoint & operator/=(const DifNumber &n)
DifPoint(const DifNumber &X, const DifNumber &Y, const DifNumber &Z)
Definition: DifPoint.h:43
DifPoint(double X, double Y, double Z)
Definition: DifPoint.h:45
DifPoint & operator-=(const DifVector &v)
DifPoint & operator=(const DifPoint &p)
HepPoint3D hepPoint() const
DifPoint(const DifPoint &p)
Definition: DifPoint.h:37
DifPoint()
Definition: DifPoint.h:39
DifPoint(const HepPoint3D &p)