CMS 3D CMS Logo

GflashTrajectoryPoint.h

Go to the documentation of this file.
00001 #ifndef GflashTrajectoryPoint_H
00002 #define GflashTrajectoryPoint_H
00003 
00004 #include "G4ThreeVector.hh"
00005 
00006 class GflashTrajectoryPoint {
00007 
00008 public:
00009   //-------------------------
00010   // Constructor, destructor
00011   //-------------------------
00012   GflashTrajectoryPoint();
00013 
00014   GflashTrajectoryPoint(G4ThreeVector& position, G4ThreeVector& momentum, 
00015                         double pathLength);
00016 
00017   ~GflashTrajectoryPoint();
00018 
00019   double getPathLength() { return thePathLength; }
00020   G4ThreeVector& getPosition() { return thePosition; }
00021   G4ThreeVector& getMomentum() { return theMomentum; }
00022   G4ThreeVector  getOrthogonalUnitVector() { return theMomentum.orthogonal().unit(); }
00023   G4ThreeVector  getCrossUnitVector() { return theMomentum.cross(getOrthogonalUnitVector()).unit(); }
00024 
00025   void setPosition(const G4ThreeVector& position ) { thePosition = position; }
00026   void setMomentum(const G4ThreeVector& momentum ) { theMomentum = momentum; }
00027   void setPathLength(double pathLength ) { thePathLength = pathLength; }
00028 
00029 private:
00030   G4ThreeVector thePosition;
00031   G4ThreeVector theMomentum;
00032   double thePathLength;
00033 };
00034 
00035 #endif
00036 
00037 

Generated on Tue Jun 9 17:47:04 2009 for CMSSW by  doxygen 1.5.4