ATLAS Offline Software
Loading...
Searching...
No Matches
AthenaPoolTestMatrix.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
16/***************************************************************************
17 Athena Pool Test data package
18 -----------------------------------------
19 ***************************************************************************/
20
21//<doc><file> $Id: AthenaPoolTestMatrix.h,v 1.10 2006-08-30 07:49:42 schaffer Exp $
22//<version> $Name: not supported by cvs2svn $
23
24#ifndef ATHENAPOOLTESTDATA_ATHENAPOOLTESTMATRIX_H
25# define ATHENAPOOLTESTDATA_ATHENAPOOLTESTMATRIX_H
26
27
28#include "CLHEP/Matrix/Matrix.h"
29#include "CLHEP/Geometry/Point3D.h"
30#include "CLHEP/Geometry/Transform3D.h"
32#include <map>
33
34
36{
37public:
38
39 typedef std::vector< std::map<unsigned int, CLHEP::HepMatrix> > matrixMaps_t;
40
42
44
47
48 const CLHEP::HepMatrix& smallMatrix () const;
49 const CLHEP::HepMatrix& bigMatrix () const;
50 const HepGeom::Point3D<double>& point () const;
51 const HepGeom::Point3D<double>& point1 () const;
52 const HepGeom::Transform3D& trans () const;
53
54 int numberOfMatrices() const;
55 const CLHEP::HepMatrix& matrix ( int i ) const;
56 const matrixMaps_t& matrixMaps () const;
57
58 void addMatrix (const CLHEP::HepMatrix* matrixPointer);
59 void setTransform (const HepGeom::Transform3D trans);
60
61private:
62 CLHEP::HepMatrix m_smallMatrix;
63 CLHEP::HepMatrix* m_bigMatrix;
64 HepGeom::Point3D<double> m_point;
65 HepGeom::Point3D<double>* m_point1;
66 std::vector< const CLHEP::HepMatrix* > m_matrices;
68 HepGeom::Transform3D m_trans;
69 std::vector<int> m_vint;
70 std::vector<float> m_vfloat;
71
72};
73
74
76
77//<<<<<< INLINE PUBLIC FUNCTIONS >>>>>>
78//<<<<<< INLINE MEMBER FUNCTIONS >>>>>>
79
80inline const CLHEP::HepMatrix&
82
83inline const CLHEP::HepMatrix&
85
86inline const HepGeom::Point3D<double>&
88
89inline const HepGeom::Point3D<double>&
91
92inline const HepGeom::Transform3D&
94
95inline void
96AthenaPoolTestMatrix::addMatrix( const CLHEP::HepMatrix* matrixPointer ) { m_matrices.push_back( matrixPointer ); }
97
98inline void
99AthenaPoolTestMatrix::setTransform (const HepGeom::Transform3D trans)
100{
101 m_trans = trans;
102}
103
104inline int
106
107inline const CLHEP::HepMatrix&
108AthenaPoolTestMatrix::matrix( int i ) const { return *(m_matrices[i]); }
109
112{
113 return (m_matrixMaps);
114}
115
116
117#endif // ATHENAPOOLTESTDATA_ATHENAPOOLTESTMATRIX_H
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Simple class with various CLHEP classes for testing pool i/o from Athena.
AthenaPoolTestMatrix & operator=(const AthenaPoolTestMatrix &)=delete
AthenaPoolTestMatrix(const AthenaPoolTestMatrix &)=delete
const matrixMaps_t & matrixMaps() const
void setTransform(const HepGeom::Transform3D trans)
std::vector< int > m_vint
const CLHEP::HepMatrix & bigMatrix() const
HepGeom::Point3D< double > m_point
const HepGeom::Transform3D & trans() const
const CLHEP::HepMatrix & matrix(int i) const
HepGeom::Point3D< double > * m_point1
void addMatrix(const CLHEP::HepMatrix *matrixPointer)
const HepGeom::Point3D< double > & point1() const
HepGeom::Transform3D m_trans
const HepGeom::Point3D< double > & point() const
std::vector< std::map< unsigned int, CLHEP::HepMatrix > > matrixMaps_t
std::vector< const CLHEP::HepMatrix * > m_matrices
CLHEP::HepMatrix * m_bigMatrix
std::vector< float > m_vfloat
const CLHEP::HepMatrix & smallMatrix() const
CLHEP::HepMatrix m_smallMatrix