BOSS 7.1.1
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>
28
29//using std::endl;
30//using std::fstream;
31
33{
34
35public:
36
37//destructor
38virtual ~EvtmyEulerAngles();
39
40// constructor
42EvtmyEulerAngles( const EvtVector3R & Yaxis, const EvtVector3R & Zaxis);
43EvtmyEulerAngles( const EvtVector4R & Pyaxis, const EvtVector4R & Pzaxis);
44EvtmyEulerAngles( EvtVector4R &h1, EvtVector4R &h2);// Euler rotation from h1 to h2
45 EvtmyEulerAngles( EvtVector4R x1, EvtVector4R y1,EvtVector4R x2, EvtVector4R y2, std::string axisTag);// Euler rotation from (x1,y1,z1) to (x2,y2,z2)
46 void EulerAngles();
47 double getAlpha();
48 double getBeta();
49 double getGamma();
50 double getphi(); //alpha using EvtmyEulerAngles( EvtVector4R h1, EvtVector4R h2);
51 double gettheta();//beta
52 double getpsi();// gamma
53private:
54 EvtVector3R _Yaxis,_Zaxis;
55 double _alpha,_beta,_gamma,_ry,_rz;
56 EvtVector4R _x, _X, xx,yy,zz, XX,YY,ZZ;
57 EvtVector4R Zcm,_N;
58};
59
60#endif
virtual ~EvtmyEulerAngles()