41 for (
G4int i = 0; i < 3 ; i++ )
46 for (
G4int j = 0; j < 3 ; j++ )
55 for (
G4int i = 0; i < 3 ; i++ )
57 row[i] =
G4Vector3D( a[i][0], a[i][1], a[i][2] );
58 column[i] =
G4Vector3D( a[0][i], a[1][i], a[2][i] );
60 for (
G4int j = 0; j < 3 ; j++ )
61 element[i][j] = a[i][j];
74 for (
G4int i = 0; i < 3 ; i++ )
77 column[i] = mat.column[i];
79 for (
G4int j = 0; j < 3 ; j++ )
80 element[i][j] = mat.element[i][j];
103 os <<
"[ " << element[0][0] <<
"\t"
104 << element[0][1] <<
"\t"
105 << element[0][2] <<
"\n "
106 << element[1][0] <<
"\t"
107 << element[1][1] <<
"\t"
108 << element[1][2] <<
"\n "
109 << element[2][0] <<
"\t"
110 << element[2][1] <<
"\t"
111 << element[2][2] <<
" ]\n";
123 for (
G4int i = 0; i < 3 ; i++ )
125 for (
G4int j = 0; j < 3 ; j++ )
127 if ( element[i][j] != mat.element[i][j] )
138 if (&mat ==
this)
return *
this;
139 for (
G4int i = 0; i < 3 ; i++ )
142 column[i] = mat.column[i];
144 for (
G4int j = 0; j < 3 ; j++ )
145 element[i][j] = mat.element[i][j];
154 return element[0][0] * ( element[1][1] * element[2][2]
155 - element[2][1] * element[1][2] )
156 - element[0][1] * ( element[1][0] * element[2][2]
157 - element[2][0] * element[1][2] )
158 + element[0][2] * ( element[1][0] * element[2][1]
159 - element[2][0] * element[1][1] );
std::ostream & operator<<(std::ostream &os, const G4ThreeMat &mat)
HepGeom::Vector3D< G4double > G4Vector3D
G4int operator==(const G4ThreeMat &m) const
virtual void PrintOn(std::ostream &os=G4cout) const
G4ThreeMat & operator=(const G4ThreeMat &m)
G4double Determinant() const
virtual const char * NameOf() const