ATLAS Offline Software
Loading...
Searching...
No Matches
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
13class G4Track;
15class InfracolorForce;
16
18public:
19 HyperbolaStep(const HyperbolaStepper* stepper, InfracolorForce& string, const G4Track& track);
21
22 void PrepareNextStep();
23 void Step(G4double length);
24 void Dump(G4double y[]);
25
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
35private:
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
48 G4double m_maxLength;
49 G4double m_length;
50};
51
52inline std::deque<StringVector>::const_iterator HyperbolaStep::GetStringPtr() const {return m_stringPtr;}
53inline G4double HyperbolaStep::GetFracLeft() const {return m_fracLeft;}
54inline G4bool HyperbolaStep::IsBoostLimited() const {return m_maxFracTaken != 1.0;}
55inline G4double HyperbolaStep::GetMaxLength() const {return m_maxLength;}
56inline G4double HyperbolaStep::GetLength() const {return m_length;}
58inline const G4LorentzVector& HyperbolaStep::GetMomentum() const {return m_momentum;}
59
60#endif
double length(const pvec &v)
#define y
HyperbolaStep(const HyperbolaStepper *stepper, InfracolorForce &string, const G4Track &track)
G4LorentzVector m_momentum
G4double GetFracLeft() const
G4bool IsBoostLimited() const
StringVector m_stringOut
std::deque< StringVector >::const_iterator m_stringEnd
G4double m_maxLength
G4ThreeVector m_position
std::deque< StringVector >::const_iterator m_stringPtr
std::deque< StringVector >::const_iterator GetStringPtr() const
G4double m_maxFracTaken
const StringVector & GetStringOut() const
G4double m_time
G4double GetLength() const
const G4LorentzVector & GetMomentum() const
G4double GetMaxLength() const
G4double m_length
StringVector m_stringIn
void Dump(G4double y[])
const HyperbolaStepper * m_stepper
HyperbolaStep * GetPrev() const
void Step(G4double length)
G4double m_fracLeft