ATLAS Offline Software
Loading...
Searching...
No Matches
StringVector Class Reference

#include <StringVector.h>

Collaboration diagram for StringVector:

Public Member Functions

 StringVector ()
 StringVector (const G4ThreeVector &p, G4double m)
 StringVector (G4double x, G4double y, G4double z, G4double m)
 ~StringVector ()
G4ThreeVector vect () const
G4double mag () const
G4double x () const
G4double y () const
G4double z () const
G4double t () const
G4LorentzVector lv () const
StringVector reflect (const G4LorentzVector &axis) const
void set (const G4ThreeVector &p, G4double m)
void set (G4double x, G4double y, G4double z, G4double m)
void operator*= (G4double a)

Private Attributes

G4ThreeVector m_p
G4double m_m

Detailed Description

Definition at line 11 of file StringVector.h.

Constructor & Destructor Documentation

◆ StringVector() [1/3]

StringVector::StringVector ( )

Definition at line 7 of file StringVector.cxx.

7: m_p(0,0,0), m_m(0) {}
G4double m_m
G4ThreeVector m_p

◆ StringVector() [2/3]

StringVector::StringVector ( const G4ThreeVector & p,
G4double m )

Definition at line 8 of file StringVector.cxx.

8: m_p(p), m_m(m) {}

◆ StringVector() [3/3]

StringVector::StringVector ( G4double x,
G4double y,
G4double z,
G4double m )

Definition at line 9 of file StringVector.cxx.

9: m_p(x,y,z), m_m(m) {}
G4double x() const
G4double z() const
G4double y() const

◆ ~StringVector()

StringVector::~StringVector ( )

Definition at line 10 of file StringVector.cxx.

10{}

Member Function Documentation

◆ lv()

G4LorentzVector StringVector::lv ( ) const
inline

Definition at line 66 of file StringVector.h.

66 {
67 return G4LorentzVector(m_p, t());
68}
G4double t() const

◆ mag()

G4double StringVector::mag ( ) const
inline

Definition at line 46 of file StringVector.h.

46 {
47 return m_m;
48}

◆ operator*=()

void StringVector::operator*= ( G4double a)
inline

Definition at line 84 of file StringVector.h.

84 {
85 m_p *= a;
86 m_m *= a;
87}
static Double_t a

◆ reflect()

StringVector StringVector::reflect ( const G4LorentzVector & axis) const
inline

Definition at line 70 of file StringVector.h.

70 {
71 return StringVector(axis.vect() * (2 * lv() * axis) / axis.mag2() - m_p, m_m);
72}
G4LorentzVector lv() const

◆ set() [1/2]

void StringVector::set ( const G4ThreeVector & p,
G4double m )
inline

Definition at line 74 of file StringVector.h.

◆ set() [2/2]

void StringVector::set ( G4double x,
G4double y,
G4double z,
G4double m )
inline

Definition at line 79 of file StringVector.h.

79 {
80 m_p.set(x,y,z);
81 m_m = m;
82}

◆ t()

G4double StringVector::t ( ) const
inline

Definition at line 62 of file StringVector.h.

62 {
63 return std::sqrt(m_p.mag2() + m_m*m_m);
64}

◆ vect()

G4ThreeVector StringVector::vect ( ) const
inline

Definition at line 42 of file StringVector.h.

42 {
43 return m_p;
44}

◆ x()

G4double StringVector::x ( ) const
inline

Definition at line 50 of file StringVector.h.

50 {
51 return m_p.x();
52}

◆ y()

G4double StringVector::y ( ) const
inline

Definition at line 54 of file StringVector.h.

54 {
55 return m_p.y();
56}

◆ z()

G4double StringVector::z ( ) const
inline

Definition at line 58 of file StringVector.h.

58 {
59 return m_p.z();
60}

Member Data Documentation

◆ m_m

G4double StringVector::m_m
private

Definition at line 31 of file StringVector.h.

◆ m_p

G4ThreeVector StringVector::m_p
private

Definition at line 30 of file StringVector.h.


The documentation for this class was generated from the following files: