BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtmyEulerAngles.hh
Go to the documentation of this file.
1//--------------------------------------------------------------------------
2//
3// Environment:
4// This software is part of models developed at BES collaboration
5// based on the EvtGen framework. If you use all or part bn
6// of it, please give an appropriate acknowledgement.
7//
8// Copyright Information: See EvtGen/BesCopyright
9// Copyright (A) 2006 Ping Rong-Gang @IHEP
10//
11// Module: EvtDIY.cc
12//
13// Description: Class to calculate the Euler angles to rotate a system
14//
15// Modification history:
16//
17// Ping R.-G. December, 2007 Module created
18//
19//------------------------------------------------------------------------
20//
21#ifndef EVTMYEULERANGLES_HH
22#define EVTMYEULERANGLES_HH
23
24#include <iostream>
25// #include <math.h>
26#include "EvtVector3R.hh"
27#include "EvtVector4R.hh"
28
29// using std::endl;
30// using std::fstream;
31
33
34public:
35 // destructor
36 virtual ~EvtmyEulerAngles();
37
38 // constructor
40 EvtmyEulerAngles( const EvtVector3R& Yaxis, const EvtVector3R& Zaxis );
41 EvtmyEulerAngles( const EvtVector4R& Pyaxis, const EvtVector4R& Pzaxis );
42 EvtmyEulerAngles( EvtVector4R& h1, EvtVector4R& h2 ); // Euler rotation from h1 to h2
44 std::string axisTag ); // Euler rotation from (x1,y1,z1) to (x2,y2,z2)
45 void EulerAngles();
46 double getAlpha();
47 double getBeta();
48 double getGamma();
49 double getphi(); // alpha using EvtmyEulerAngles( EvtVector4R h1, EvtVector4R h2);
50 double gettheta(); // beta
51 double getpsi(); // gamma
52private:
53 EvtVector3R _Yaxis, _Zaxis;
54 double _alpha, _beta, _gamma, _ry, _rz;
55 EvtVector4R _x, _X, xx, yy, zz, XX, YY, ZZ;
56 EvtVector4R Zcm, _N;
57};
58
59#endif
virtual ~EvtmyEulerAngles()