Jpp test-rotations-old
the software that should make you happy
Loading...
Searching...
No Matches
JCompass/JEvtToolkit.hh
Go to the documentation of this file.
1#ifndef __JCOMPASS__JEVTTOOLKIT__
2#define __JCOMPASS__JEVTTOOLKIT__
3
4#include <set>
5
6#include "JCompass/JModel.hh"
7#include "JCompass/JEvt.hh"
8
9
10/**
11 * \file
12 *
13 * Compass event fit.
14 * \author mdejong
15 */
16namespace JCOMPASS {}
17namespace JPP { using namespace JCOMPASS; }
18
19namespace JCOMPASS {
20
21 /**
22 * Get quaternion.
23 *
24 * \param Q quaternion
25 * \return quaternion
26 */
28 {
29 return JQuaternion3D(Q.a, Q.b, Q.c, Q.d);
30 }
31
32
33 /**
34 * Get quaternion.
35 *
36 * \param Q quaternion
37 * \return quaternion
38 */
40 {
41 return JQuaternion(Q.getA(), Q.getB(), Q.getC(), Q.getD());
42 }
43
44
45 /**
46 * Get model.
47 *
48 * \param evt event
49 * \return model
50 */
51 inline JModel getModel(const JEvt& evt)
52 {
53 JModel model;
54
55 if (evt.size() >= 2) {
56 model.Q0 = getQuaternion(evt[0]);
57 model.Q1 = getQuaternion(evt[1]);
58 }
59
60 return model;
61 }
62
63
64 /**
65 * Get event.
66 *
67 * \param header header
68 * \param model model
69 * \return event
70 */
71 inline JEvt getEvt(const JHead& header,
72 const JModel& model)
73 {
74 JEvt evt(header);
75
76 evt.push_back(getQuaternion(model.Q0));
77 evt.push_back(getQuaternion(model.Q1));
78
79 return evt;
80 }
81}
82
83#endif
Compass event data types.
Data structure for unit quaternion in three dimensions.
double getB() const
Get b value.
double getD() const
Get d value.
double getC() const
Get c value.
double getA() const
Get a value.
Auxiliary classes and methods for orientation calibration based on compasses.
JEvt getEvt(const JHead &header, const JModel &model)
Get event.
JQuaternion3D getQuaternion(const JQuaternion &Q)
Get quaternion.
JModel getModel(const JEvt &evt)
Get model.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Compass single fit.
Compass event header.