StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
vecTest2.cc
1 /***************************************************************************
2  *
3  * $Id: vecTest2.cc,v 1.2 2003/09/02 17:59:38 perev Exp $
4  *
5  * Author: bl
6  ***************************************************************************
7  *
8  * Description:
9  *
10  ***************************************************************************
11  *
12  * $Log: vecTest2.cc,v $
13  * Revision 1.2 2003/09/02 17:59:38 perev
14  * gcc 3.2 updates + WarnOff
15  *
16  * Revision 1.1 1999/02/17 12:44:04 ullrich
17  * New Revision
18  *
19  * Revision 1.1 1999/01/23 00:26:55 ullrich
20  * Initial Revision
21  *
22  **************************************************************************/
23 #include <Stiostream.h>
24 #include "StGlobals.hh"
25 #include "StThreeVector.hh"
26 
27 int main()
28 {
29  cout << "This program tests the rotation and angular setting functions" << endl;
30  cout << "-------------------------------------------------------------" << endl;
31 
32  StThreeVector<float> vec1(3,4,5);
33  StThreeVector<double> vec2(vec1);
34 
35  PR(vec1);
36  PR(vec2);
37  cout << endl;
38 
39  PR(vec1.mag());
40  PR(vec1.theta());
41  PR(vec1.phi());
42 
43  cout << "\nsetMagnitude(100) " << endl;
44  vec1.setMagnitude(100);
45  PR(vec1);
46  PR(vec1.mag());
47  PR(vec1.theta());
48  PR(vec1.phi());
49  PR(vec2);
50 
51  cout << "\nsetPhi(M_PI) " << endl;
52  vec2.setPhi(M_PI);
53  PR(vec2);
54  PR(vec2.mag());
55  PR(vec2.theta());
56  PR(vec2.phi());
57 
58  cout << "\nsetTheta(M_PI) " << endl;
59  vec2.setTheta(M_PI);
60  PR(vec2);
61  PR(vec2.mag());
62  PR(vec2.theta());
63  PR(vec2.phi());
64 
65  cout << "\nsetMagnitude(10) " << endl;
66  vec1.setMagnitude(10);
67  PR(vec1);
68  StThreeVector<double> vec3(vec1.orthogonal());
69  PR(vec3);
70  PR(vec1*vec3);
71  cout << endl;
72 
73  StThreeVector<double> vec4(0,1,0);
74  PR(vec4);
75  StThreeVector<float> vec5(1,1,0);
76  PR(vec4.angle(vec5));
77  cout << endl;
78 
79  double angle = M_PI/2;
80 
81  vec4.rotateX(angle);
82  PR(vec4);
83  vec4.rotateY(angle);
84  PR(vec4);
85  vec4.rotateZ(angle);
86  PR(vec4);
87  cout << endl;
88 
89  PR(vec5);
90  vec5.rotateX(angle);
91  PR(vec5);
92  vec5.rotateY(angle);
93  PR(vec5);
94  vec5.rotateZ(angle);
95  PR(vec5);
96 
97  return 0;
98 
99 
100 }