ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
G4Extensions
Quirks
src
HyperbolaStep.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef HYPERBOLASTEP_H
6
#define HYPERBOLASTEP_H
7
8
#include <deque>
9
#include "G4ThreeVector.hh"
10
#include "G4LorentzVector.hh"
11
#include "
StringVector.h
"
12
13
class
G4Track;
14
class
HyperbolaStepper
;
15
class
InfracolorForce
;
16
17
class
HyperbolaStep
{
18
public
:
19
HyperbolaStep
(
const
HyperbolaStepper
* stepper,
InfracolorForce
&
string
,
const
G4Track& track);
20
~HyperbolaStep
();
21
22
void
PrepareNextStep
();
23
void
Step
(G4double
length
);
24
void
Dump
(G4double
y
[]);
25
26
HyperbolaStep
*
GetPrev
()
const
;
27
std::deque<StringVector>::const_iterator
GetStringPtr
()
const
;
28
G4double
GetFracLeft
()
const
;
29
G4bool
IsBoostLimited
()
const
;
30
G4double
GetMaxLength
()
const
;
31
G4double
GetLength
()
const
;
32
const
StringVector
&
GetStringOut
()
const
;
33
const
G4LorentzVector&
GetMomentum
()
const
;
34
35
private
:
36
const
HyperbolaStepper
*
m_stepper
;
37
38
std::deque<StringVector>::const_iterator
m_stringPtr
;
39
std::deque<StringVector>::const_iterator
m_stringEnd
;
40
G4double
m_fracLeft
;
41
G4ThreeVector
m_position
;
42
G4double
m_time
;
43
G4LorentzVector
m_momentum
;
44
45
StringVector
m_stringIn
;
46
G4double
m_maxFracTaken
;
47
StringVector
m_stringOut
;
48
G4double
m_maxLength
;
49
G4double
m_length
;
50
};
51
52
inline
std::deque<StringVector>::const_iterator
HyperbolaStep::GetStringPtr
()
const
{
return
m_stringPtr
;}
53
inline
G4double
HyperbolaStep::GetFracLeft
()
const
{
return
m_fracLeft
;}
54
inline
G4bool
HyperbolaStep::IsBoostLimited
()
const
{
return
m_maxFracTaken
!= 1.0;}
55
inline
G4double
HyperbolaStep::GetMaxLength
()
const
{
return
m_maxLength
;}
56
inline
G4double
HyperbolaStep::GetLength
()
const
{
return
m_length
;}
57
inline
const
StringVector
&
HyperbolaStep::GetStringOut
()
const
{
return
m_stringOut
;}
58
inline
const
G4LorentzVector&
HyperbolaStep::GetMomentum
()
const
{
return
m_momentum
;}
59
60
#endif
length
double length(const pvec &v)
Definition
FPGATrackSimLLPDoubletHoughTransformTool.cxx:26
StringVector.h
y
#define y
HyperbolaStep::HyperbolaStep
HyperbolaStep(const HyperbolaStepper *stepper, InfracolorForce &string, const G4Track &track)
Definition
HyperbolaStep.cxx:14
HyperbolaStep::m_momentum
G4LorentzVector m_momentum
Definition
HyperbolaStep.h:43
HyperbolaStep::PrepareNextStep
void PrepareNextStep()
Definition
HyperbolaStep.cxx:31
HyperbolaStep::GetFracLeft
G4double GetFracLeft() const
Definition
HyperbolaStep.h:53
HyperbolaStep::IsBoostLimited
G4bool IsBoostLimited() const
Definition
HyperbolaStep.h:54
HyperbolaStep::m_stringOut
StringVector m_stringOut
Definition
HyperbolaStep.h:47
HyperbolaStep::m_stringEnd
std::deque< StringVector >::const_iterator m_stringEnd
Definition
HyperbolaStep.h:39
HyperbolaStep::m_maxLength
G4double m_maxLength
Definition
HyperbolaStep.h:48
HyperbolaStep::m_position
G4ThreeVector m_position
Definition
HyperbolaStep.h:41
HyperbolaStep::m_stringPtr
std::deque< StringVector >::const_iterator m_stringPtr
Definition
HyperbolaStep.h:38
HyperbolaStep::GetStringPtr
std::deque< StringVector >::const_iterator GetStringPtr() const
Definition
HyperbolaStep.h:52
HyperbolaStep::m_maxFracTaken
G4double m_maxFracTaken
Definition
HyperbolaStep.h:46
HyperbolaStep::GetStringOut
const StringVector & GetStringOut() const
Definition
HyperbolaStep.h:57
HyperbolaStep::~HyperbolaStep
~HyperbolaStep()
Definition
HyperbolaStep.cxx:29
HyperbolaStep::m_time
G4double m_time
Definition
HyperbolaStep.h:42
HyperbolaStep::GetLength
G4double GetLength() const
Definition
HyperbolaStep.h:56
HyperbolaStep::GetMomentum
const G4LorentzVector & GetMomentum() const
Definition
HyperbolaStep.h:58
HyperbolaStep::GetMaxLength
G4double GetMaxLength() const
Definition
HyperbolaStep.h:55
HyperbolaStep::m_length
G4double m_length
Definition
HyperbolaStep.h:49
HyperbolaStep::m_stringIn
StringVector m_stringIn
Definition
HyperbolaStep.h:45
HyperbolaStep::Dump
void Dump(G4double y[])
Definition
HyperbolaStep.cxx:121
HyperbolaStep::m_stepper
const HyperbolaStepper * m_stepper
Definition
HyperbolaStep.h:36
HyperbolaStep::GetPrev
HyperbolaStep * GetPrev() const
HyperbolaStep::Step
void Step(G4double length)
Definition
HyperbolaStep.cxx:63
HyperbolaStep::m_fracLeft
G4double m_fracLeft
Definition
HyperbolaStep.h:40
HyperbolaStepper
Definition
HyperbolaStepper.h:19
InfracolorForce
Definition
InfracolorForce.h:14
StringVector
Definition
StringVector.h:11
Generated on
for ATLAS Offline Software by
1.17.0