Jpp
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
JMathTestkit.hh
Go to the documentation of this file.
1 #ifndef __JMATHTESTKIT__
2 #define __JMATHTESTKIT__
3 
4 #include "TRandom3.h"
5 
6 #include "JMath/JMatrix1S.hh"
7 #include "JMath/JMatrix2S.hh"
8 #include "JMath/JMatrix3S.hh"
9 #include "JMath/JMatrix4S.hh"
10 #include "JMath/JMatrix5S.hh"
11 #include "JMath/JMatrixNS.hh"
12 #include "JMath/JRandom.hh"
13 
14 /**
15  * \author mdejong
16  */
17 
18 namespace JMATH {}
19 namespace JPP { using namespace JMATH; }
20 
21 namespace JMATH {
22 
23 
24  /**
25  * Randomize matrix.
26  *
27  * \param p pointer to valid object
28  */
29  inline void randomize(JMatrix1S* p)
30  {
31  new (p) JMatrix1S(getRandom<double>(-1.0, +1.0));
32  }
33 
34 
35  /**
36  * Randomize matrix.
37  *
38  * \param p pointer to valid object
39  */
40  inline void randomize(JMatrix2S* p)
41  {
42  new (p) JMatrix2S(getRandom<double>(-1.0,+1.0),
43  getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0));
44 
45  p->a01 = p->a10;
46  }
47 
48 
49  /**
50  * Randomize matrix.
51  *
52  * \param p pointer to valid object
53  */
54  inline void randomize(JMatrix3S* p)
55  {
56  new (p) JMatrix3S(getRandom<double>(-1.0,+1.0),
57  getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0),
58  getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0));
59 
60  p->a01 = p->a10;
61  p->a02 = p->a20;
62  p->a12 = p->a21;
63  }
64 
65 
66  /**
67  * Randomize matrix.
68  *
69  * \param p pointer to valid object
70  */
71  inline void randomize(JMatrix4S* p)
72  {
73  new (p) JMatrix4S(getRandom<double>(-1.0,+1.0),
74  getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0),
75  getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0),
76  getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0));
77 
78  p->a01 = p->a10;
79  p->a02 = p->a20;
80  p->a03 = p->a30;
81  p->a12 = p->a21;
82  p->a13 = p->a31;
83  p->a23 = p->a32;
84  }
85 
86 
87  /**
88  * Randomize matrix.
89  *
90  * \param p pointer to valid object
91  */
92  inline void randomize(JMatrix5S* p)
93  {
94  new (p) JMatrix5S(getRandom<double>(-1.0,+1.0),
95  getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0),
96  getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0),
97  getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0),
98  getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0));
99 
100  p->a01 = p->a10;
101  p->a02 = p->a20;
102  p->a03 = p->a30;
103  p->a04 = p->a40;
104  p->a12 = p->a21;
105  p->a13 = p->a31;
106  p->a14 = p->a41;
107  p->a23 = p->a32;
108  p->a24 = p->a42;
109  p->a34 = p->a43;
110  }
111 }
112 
113 #endif
Definition of random value generator.
5 x 5 symmetric matrix
Definition: JMatrix5S.hh:26
2 x 2 symmetric matrix
Definition: JMatrix2S.hh:26
3 x 3 symmetric matrix
Definition: JMatrix3S.hh:26
4 x 4 symmetric matrix
Definition: JMatrix4S.hh:26
void randomize(Vec *p)
Randomize 3D vector.
1 x 1 symmetric matrix
Definition: JMatrix1S.hh:26