ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
G4ErrorSurfaceTrajState.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4ErrorSurfaceTrajState.hh
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
//
28
//
29
// Class description:
30
//
31
// Represents a trajectory state on a surface.
32
// It can be represented by the 5 variables:
33
// 1/p, v', w', v, w
34
// where v'=dv/du and w'=dw/du in an orthonormal coordinate system
35
// with axis u, v and w.
36
37
// History:
38
//
39
// - Created: P. Arce
40
// --------------------------------------------------------------------
41
42
#ifndef G4ErrorSurfaceTrajState_hh
43
#define G4ErrorSurfaceTrajState_hh
44
45
#include "
globals.hh
"
46
47
#include "
G4ErrorTrajState.hh
"
48
#include "
G4ErrorSurfaceTrajParam.hh
"
49
#include "
G4ErrorFreeTrajState.hh
"
50
51
#include "
G4Point3D.hh
"
52
#include "
G4Vector3D.hh
"
53
#include "
G4Plane3D.hh
"
54
55
class
G4ErrorSurfaceTrajState
:
public
G4ErrorTrajState
56
{
57
58
public
:
// with description
59
60
G4ErrorSurfaceTrajState
(
const
G4String
& partType,
const
G4Point3D
&
pos
,
61
const
G4Vector3D
&
mom
,
const
G4Plane3D
&
plane
,
62
const
G4ErrorTrajErr
& errmat =
G4ErrorTrajErr
(5,0) );
63
// Constructor by providing particle, position, momentum and
64
// G4Plane3D surface
65
66
G4ErrorSurfaceTrajState
(
const
G4String
& partType,
const
G4Point3D
& pos,
67
const
G4Vector3D
& mom,
const
G4Vector3D
& vecV,
68
const
G4Vector3D
& vecW,
69
const
G4ErrorTrajErr
& errmat =
G4ErrorTrajErr
(5,0) );
70
// Constructor by providing particle, position, momentum and
71
// two vectors on surface
72
73
G4ErrorSurfaceTrajState
(
G4ErrorFreeTrajState
& tpSC,
const
G4Plane3D
& plane );
74
// Constructor by providing G4ErrorFreeTrajState and G4Plane3D surface
75
76
G4ErrorSurfaceTrajState
(
G4ErrorFreeTrajState
& tpSC,
const
G4Vector3D
& vecV,
77
const
G4Vector3D
& vecW ,
G4ErrorMatrix
&transfM);
78
// Constructor by providing G4ErrorFreeTrajState and two vectors on surface
79
80
~G4ErrorSurfaceTrajState
(){}
81
G4ErrorMatrix
BuildErrorMatrix
(
G4ErrorFreeTrajState
& tpSC,
const
G4Vector3D
& vecV,
82
const
G4Vector3D
& vecW );
83
// Build the error matrix from a free state plus the vectors of the surface
84
85
virtual
void
Dump
( std::ostream& out = G4cout )
const
;
86
87
friend
88
std::ostream&
operator<<
(std::ostream&,
const
G4ErrorSurfaceTrajState
& ts);
89
90
// Set and Get methods
91
92
G4ErrorSurfaceTrajParam
GetParameters
()
const
93
{
return
fTrajParam
; }
94
void
SetParameters
(
const
G4Point3D
& pos,
const
G4Vector3D
& mom,
95
const
G4Vector3D
& vecV,
const
G4Vector3D
& vecW )
96
{
97
fPosition
=
pos
;
98
fMomentum
=
mom
;
99
fTrajParam
.
SetParameters
( pos, mom, vecV, vecW );
100
}
101
102
void
SetParameters
(
const
G4Point3D
& pos,
const
G4Vector3D
& mom,
103
const
G4Plane3D
& plane )
104
{
105
fPosition
=
pos
;
106
fMomentum
=
mom
;
107
fTrajParam
.
SetParameters
( pos, mom, plane );
108
}
109
110
G4Vector3D
GetVectorV
()
const
111
{
return
fTrajParam
.
GetVectorV
(); }
112
113
G4Vector3D
GetVectorW
()
const
114
{
return
fTrajParam
.
GetVectorW
(); }
115
116
virtual
void
SetPosition
(
const
G4Point3D
pos )
117
{
SetParameters
( pos,
fMomentum
,
GetVectorV
(),
GetVectorW
() ); }
118
119
virtual
void
SetMomentum
(
const
G4Vector3D
& mom )
120
{
SetParameters
(
fPosition
, mom,
GetVectorV
(),
GetVectorW
() ); }
121
122
private
:
123
124
void
Init
();
125
// Define Trajectory State type and build charge
126
127
private
:
128
129
G4ErrorSurfaceTrajParam
fTrajParam
;
130
131
};
132
133
#endif
geant4
tree
geant4-10.6-release
source
error_propagation
include
G4ErrorSurfaceTrajState.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:13
using
1.8.2 with
ECCE GitHub integration