Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/externals/clhep/include/CLHEP/Geometry/Vector3D.h

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /externals/clhep/include/CLHEP/Geometry/Vector3D.h (Version 11.3.0) and /externals/clhep/include/CLHEP/Geometry/Vector3D.h (Version 9.4.p3)


  1 // -*- C++ -*-                                      1 
  2 // -------------------------------------------    
  3 //                                                
  4 // This file is a part of the CLHEP - a Class     
  5 //                                                
  6 // History:                                       
  7 // 09.09.96 E.Chernyaev - initial version         
  8 // 12.06.01 E.Chernyaev - CLHEP-1.7: introduct    
  9 //                        the functionality fr    
 10 // 01.04.03 E.Chernyaev - CLHEP-1.9: template     
 11 //                                                
 12                                                   
 13 #ifndef HEP_VECTOR3D_H                            
 14 #define HEP_VECTOR3D_H                            
 15                                                   
 16 #include <iosfwd>                                 
 17 #include "CLHEP/Vector/ThreeVector.h"             
 18 #include "CLHEP/Geometry/BasicVector3D.h"         
 19                                                   
 20 namespace HepGeom {                               
 21                                                   
 22   class Transform3D;                              
 23                                                   
 24   /**                                             
 25    * Geometrical 3D Vector.                       
 26    * This is just a declaration of the class n    
 27    * specializations Vector3D<float> and Vecto    
 28    *                                              
 29    * @ingroup geometry                            
 30    * @author Evgeni Chernyaev <Evgueni.Tcherni    
 31    */                                             
 32   template<class T>                               
 33   class Vector3D : public BasicVector3D<T> {};    
 34                                                   
 35   /**                                             
 36    * Geometrical 3D Vector with components of     
 37    *                                              
 38    * @author Evgeni Chernyaev <Evgueni.Tcherni    
 39    * @ingroup geometry                            
 40    */                                             
 41   template<>                                      
 42   class Vector3D<float> : public BasicVector3D    
 43   public:                                         
 44     /**                                           
 45      * Default constructor. */                    
 46     Vector3D() = default;                         
 47                                                   
 48     /**                                           
 49      * Constructor from three numbers. */         
 50     Vector3D(float x1, float y1, float z1) : B    
 51                                                   
 52     /**                                           
 53      * Constructor from array of floats. */       
 54     explicit Vector3D(const float * a)            
 55       : BasicVector3D<float>(a[0],a[1],a[2]) {    
 56                                                   
 57     /**                                           
 58      * Copy constructor. */                       
 59     Vector3D(const Vector3D<float> &) = defaul    
 60                                                   
 61     /**                                           
 62      * Move constructor. */                       
 63     Vector3D(Vector3D<float> &&) = default;       
 64                                                   
 65     /**                                           
 66      * Constructor from BasicVector3D<float>.     
 67     Vector3D(const BasicVector3D<float> & v) :    
 68                                                   
 69     /**                                           
 70      * Destructor. */                             
 71     ~Vector3D() = default;                        
 72                                                   
 73     /**                                           
 74      * Assignment. */                             
 75     Vector3D<float> & operator=(const Vector3D    
 76                                                   
 77     /**                                           
 78      * Assignment from BasicVector3D<float>. *    
 79     Vector3D<float> & operator=(const BasicVec    
 80       this->BasicVector3D<float>::operator=(v)    
 81       return *this;                               
 82     }                                             
 83                                                   
 84     /**                                           
 85      * Move assignment. */                        
 86     Vector3D<float> & operator=(Vector3D<float    
 87                                                   
 88     /**                                           
 89      * Transformation by Transform3D. */          
 90     Vector3D<float> & transform(const Transfor    
 91   };                                              
 92                                                   
 93   /**                                             
 94    * Transformation of Vector<float> by Transf    
 95    * @relates Vector3D                            
 96    */                                             
 97   Vector3D<float>                                 
 98   operator*(const Transform3D & m, const Vecto    
 99                                                   
100   /**                                             
101    * Geometrical 3D Vector with components of     
102    *                                              
103    * @author Evgeni Chernyaev <Evgueni.Tcherni    
104    * @ingroup geometry                            
105    */                                             
106   template<>                                      
107   class Vector3D<double> : public BasicVector3    
108   public:                                         
109     /**                                           
110      * Default constructor. */                    
111     Vector3D() = default;                         
112                                                   
113     /**                                           
114      * Constructor from three numbers. */         
115     Vector3D(double x1, double y1, double z1)     
116                                                   
117     /**                                           
118      * Constructor from array of floats. */       
119     explicit Vector3D(const float * a)            
120       : BasicVector3D<double>(a[0],a[1],a[2])     
121                                                   
122     /**                                           
123      * Constructor from array of doubles. */      
124     explicit Vector3D(const double * a)           
125       : BasicVector3D<double>(a[0],a[1],a[2])     
126                                                   
127     /**                                           
128      * Copy constructor. */                       
129     Vector3D(const Vector3D<double> &) = defau    
130                                                   
131     /**                                           
132      * Move constructor. */                       
133     Vector3D(Vector3D<double> &&) = default;      
134                                                   
135     /**                                           
136      * Constructor from BasicVector3D<float>.     
137     Vector3D(const BasicVector3D<float> & v) :    
138                                                   
139     /**                                           
140      * Constructor from BasicVector3D<double>.    
141     Vector3D(const BasicVector3D<double> & v)     
142                                                   
143     /**                                           
144      * Destructor. */                             
145     ~Vector3D() = default;                        
146                                                   
147     /**                                           
148      * Constructor from CLHEP::Hep3Vector.        
149      * This constructor is needed only for bac    
150      * in principle should be absent.             
151      */                                           
152     Vector3D(const CLHEP::Hep3Vector & v)         
153       : BasicVector3D<double>(v.x(),v.y(),v.z(    
154                                                   
155     /**                                           
156      * Conversion (cast) to CLHEP::Hep3Vector.    
157      * This operator is needed only for backwa    
158      * in principle should not exit.              
159      */                                           
160     operator CLHEP::Hep3Vector () const { retu    
161                                                   
162     /**                                           
163      * Assignment. */                             
164     Vector3D<double> & operator=(const Vector3    
165                                                   
166     /**                                           
167      * Assignment from BasicVector3D<float>. *    
168     Vector3D<double> & operator=(const BasicVe    
169       this->BasicVector3D<double>::operator=(v    
170       return *this;                               
171     }                                             
172                                                   
173     /**                                           
174      * Assignment from BasicVector3D<double>.     
175     Vector3D<double> & operator=(const BasicVe    
176       this->BasicVector3D<double>::operator=(v    
177       return *this;                               
178     }                                             
179                                                   
180     /**                                           
181      * Move assignment. */                        
182     Vector3D<double> & operator=(Vector3D<doub    
183                                                   
184     /**                                           
185      * Transformation by Transform3D. */          
186     Vector3D<double> & transform(const Transfo    
187   };                                              
188                                                   
189   /**                                             
190    * Transformation of Vector<double> by Trans    
191    * @relates Vector3D                            
192    */                                             
193   Vector3D<double>                                
194   operator*(const Transform3D & m, const Vecto    
195                                                   
196 } /* namespace HepGeom */                         
197                                                   
198 #endif /* HEP_VECTOR3D_H */                       
199