Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4ErrorSurfaceTrajState.hh
Go to the documentation of this file.
1//
2// ********************************************************************
3// * License and Disclaimer *
4// * *
5// * The Geant4 software is copyright of the Copyright Holders of *
6// * the Geant4 Collaboration. It is provided under the terms and *
7// * conditions of the Geant4 Software License, included in the file *
8// * LICENSE and available at http://cern.ch/geant4/license . These *
9// * include a list of copyright holders. *
10// * *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work make any representation or warranty, express or implied, *
14// * regarding this software system or assume any liability for its *
15// * use. Please see the license in the file LICENSE and URL above *
16// * for the full disclaimer and the limitation of liability. *
17// * *
18// * This code implementation is the result of the scientific and *
19// * technical work of the GEANT4 collaboration. *
20// * By using, copying, modifying or distributing the software (or *
21// * any work based on the software) you agree to acknowledge its *
22// * use in resulting scientific publications, and indicate your *
23// * acceptance of all terms of the Geant4 Software license. *
24// ********************************************************************
25//
26//
27// $Id$
28//
29//
30// Class description:
31//
32// Represents a trajectory state on a surface.
33// It can be represented by the 5 variables:
34// 1/p, v', w', v, w
35// where v'=dv/du and w'=dw/du in an orthonormal coordinate system
36// with axis u, v and w.
37
38// History:
39//
40// - Created: P. Arce
41// --------------------------------------------------------------------
42
43#ifndef G4ErrorSurfaceTrajState_hh
44#define G4ErrorSurfaceTrajState_hh
45
46#include "globals.hh"
47
48#include "G4ErrorTrajState.hh"
51
52#include "G4Point3D.hh"
53#include "G4Vector3D.hh"
54#include "G4Plane3D.hh"
55
57{
58
59 public: // with description
60
61 G4ErrorSurfaceTrajState( const G4String& partType, const G4Point3D& pos,
62 const G4Vector3D& mom, const G4Plane3D& plane,
63 const G4ErrorTrajErr& errmat = G4ErrorTrajErr(5,0) );
64 // Constructor by providing particle, position, momentum and
65 // G4Plane3D surface
66
67 G4ErrorSurfaceTrajState( const G4String& partType, const G4Point3D& pos,
68 const G4Vector3D& mom, const G4Vector3D& vecV,
69 const G4Vector3D& vecW,
70 const G4ErrorTrajErr& errmat = G4ErrorTrajErr(5,0) );
71 // Constructor by providing particle, position, momentum and
72 // two vectors on surface
73
75 // Constructor by providing G4ErrorFreeTrajState and G4Plane3D surface
76
78 const G4Vector3D& vecW );
79 // Constructor by providing G4ErrorFreeTrajState and two vectors on surface
80
82
83 void BuildErrorMatrix( G4ErrorFreeTrajState& tpSC, const G4Vector3D& vecV,
84 const G4Vector3D& vecW );
85 // Build the error matrix from a free state plus the vectors of the surface
86
87 virtual void Dump( std::ostream& out = G4cout ) const;
88
89 friend
90 std::ostream& operator<<(std::ostream&, const G4ErrorSurfaceTrajState& ts);
91
92 // Set and Get methods
93
95 { return fTrajParam; }
96 void SetParameters( const G4Point3D& pos, const G4Vector3D& mom,
97 const G4Vector3D& vecV, const G4Vector3D& vecW )
98 {
99 fPosition = pos;
100 fMomentum = mom;
101 fTrajParam.SetParameters( pos, mom, vecV, vecW );
102 }
103
104 void SetParameters( const G4Point3D& pos, const G4Vector3D& mom,
105 const G4Plane3D& plane )
106 {
107 fPosition = pos;
108 fMomentum = mom;
109 fTrajParam.SetParameters( pos, mom, plane );
110 }
111
113 { return fTrajParam.GetVectorV(); }
114
116 { return fTrajParam.GetVectorW(); }
117
118 virtual void SetPosition( const G4Point3D pos )
120
121 virtual void SetMomentum( const G4Vector3D& mom )
123
124 private:
125
126 void Init();
127 // Define Trajectory State type and build charge
128
129 private:
130
131 G4ErrorSurfaceTrajParam fTrajParam;
132
133};
134
135#endif
G4ErrorSymMatrix G4ErrorTrajErr
G4DLLIMPORT std::ostream G4cout
void SetParameters(const G4Point3D &pos, const G4Vector3D &mom, const G4Vector3D &vecV, const G4Vector3D &vecW)
void SetParameters(const G4Point3D &pos, const G4Vector3D &mom, const G4Plane3D &plane)
virtual void Dump(std::ostream &out=G4cout) const
void BuildErrorMatrix(G4ErrorFreeTrajState &tpSC, const G4Vector3D &vecV, const G4Vector3D &vecW)
virtual void SetMomentum(const G4Vector3D &mom)
G4ErrorSurfaceTrajParam GetParameters() const
friend std::ostream & operator<<(std::ostream &, const G4ErrorSurfaceTrajState &ts)
virtual void SetPosition(const G4Point3D pos)
void SetParameters(const G4Point3D &pos, const G4Vector3D &mom, const G4Vector3D &vecV, const G4Vector3D &vecW)