ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4StokesVector Class Reference

#include <geant4/tree/geant4-10.6-release/source/processes/electromagnetic/polarisation/include/G4StokesVector.hh>

+ Inheritance diagram for G4StokesVector:
+ Collaboration diagram for G4StokesVector:

Public Member Functions

 G4StokesVector ()
 
 G4StokesVector (const G4ThreeVector &v)
 
 ~G4StokesVector ()=default
 
G4bool IsZero () const
 
G4double p1 () const
 
G4double p2 () const
 
G4double p3 () const
 
G4double Transverse () const
 
G4ThreeVector PolSqr () const
 
G4ThreeVector PolSqrt () const
 
G4ThreeVector PolError (const G4StokesVector &sum2, long n)
 
G4ThreeVector PolDiv (const G4StokesVector &)
 
void SetPhoton ()
 
void RotateAz (G4ThreeVector nInteractionFrame, G4ThreeVector particleDirection)
 
void InvRotateAz (G4ThreeVector nInteractionFrame, G4ThreeVector particleDirection)
 
void RotateAz (G4double cosphi, G4double sinphi)
 
G4double GetBeta ()
 
void DiceUniform ()
 
void DiceP1 ()
 
void DiceP2 ()
 
void DiceP3 ()
 
void FlipP3 ()
 
- Public Member Functions inherited from CLHEP::Hep3Vector
 Hep3Vector ()
 
 Hep3Vector (double x)
 
 Hep3Vector (double x, double y)
 
 Hep3Vector (double x, double y, double z)
 
 Hep3Vector (const Hep3Vector &)
 
 Hep3Vector (Hep3Vector &&)=default
 
 ~Hep3Vector ()
 
double operator() (int) const
 
double operator[] (int) const
 
double & operator() (int)
 
double & operator[] (int)
 
double x () const
 
double y () const
 
double z () const
 
void setX (double)
 
void setY (double)
 
void setZ (double)
 
void set (double x, double y, double z)
 
double phi () const
 
double theta () const
 
double cosTheta () const
 
double cos2Theta () const
 
double mag2 () const
 
double mag () const
 
void setPhi (double)
 
void setTheta (double)
 
void setMag (double)
 
double perp2 () const
 
double perp () const
 
void setPerp (double)
 
void setCylTheta (double)
 
double perp2 (const Hep3Vector &) const
 
double perp (const Hep3Vector &) const
 
Hep3Vectoroperator= (const Hep3Vector &)
 
Hep3Vectoroperator= (Hep3Vector &&)=default
 
bool operator== (const Hep3Vector &) const
 
bool operator!= (const Hep3Vector &) const
 
bool isNear (const Hep3Vector &, double epsilon=tolerance) const
 
double howNear (const Hep3Vector &v) const
 
double deltaR (const Hep3Vector &v) const
 
Hep3Vectoroperator+= (const Hep3Vector &)
 
Hep3Vectoroperator-= (const Hep3Vector &)
 
Hep3Vector operator- () const
 
Hep3Vectoroperator*= (double)
 
Hep3Vectoroperator/= (double)
 
Hep3Vector unit () const
 
Hep3Vector orthogonal () const
 
double dot (const Hep3Vector &) const
 
Hep3Vector cross (const Hep3Vector &) const
 
double angle (const Hep3Vector &) const
 
double pseudoRapidity () const
 
void setEta (double p)
 
void setCylEta (double p)
 
Hep3VectorrotateX (double)
 
Hep3VectorrotateY (double)
 
Hep3VectorrotateZ (double)
 
Hep3VectorrotateUz (const Hep3Vector &)
 
Hep3Vectorrotate (double, const Hep3Vector &)
 
Hep3Vectoroperator*= (const HepRotation &)
 
Hep3Vectortransform (const HepRotation &)
 
void setRThetaPhi (double r, double theta, double phi)
 
void setREtaPhi (double r, double eta, double phi)
 
void setRhoPhiZ (double rho, double phi, double z)
 
void setRhoPhiTheta (double rho, double phi, double theta)
 
void setRhoPhiEta (double rho, double phi, double eta)
 
double getX () const
 
double getY () const
 
double getZ () const
 
double getR () const
 
double getTheta () const
 
double getPhi () const
 
double r () const
 
double rho () const
 
double getRho () const
 
double eta () const
 
double getEta () const
 
void setR (double s)
 
void setRho (double s)
 
int compare (const Hep3Vector &v) const
 
bool operator> (const Hep3Vector &v) const
 
bool operator< (const Hep3Vector &v) const
 
bool operator>= (const Hep3Vector &v) const
 
bool operator<= (const Hep3Vector &v) const
 
double diff2 (const Hep3Vector &v) const
 
bool isParallel (const Hep3Vector &v, double epsilon=tolerance) const
 
bool isOrthogonal (const Hep3Vector &v, double epsilon=tolerance) const
 
double howParallel (const Hep3Vector &v) const
 
double howOrthogonal (const Hep3Vector &v) const
 
double beta () const
 
double gamma () const
 
double coLinearRapidity () const
 
double angle () const
 
double theta (const Hep3Vector &v2) const
 
double cosTheta (const Hep3Vector &v2) const
 
double cos2Theta (const Hep3Vector &v2) const
 
Hep3Vector project () const
 
Hep3Vector project (const Hep3Vector &v2) const
 
Hep3Vector perpPart () const
 
Hep3Vector perpPart (const Hep3Vector &v2) const
 
double rapidity () const
 
double rapidity (const Hep3Vector &v2) const
 
double eta (const Hep3Vector &v2) const
 
double polarAngle (const Hep3Vector &v2) const
 
double deltaPhi (const Hep3Vector &v2) const
 
double azimAngle (const Hep3Vector &v2) const
 
double polarAngle (const Hep3Vector &v2, const Hep3Vector &ref) const
 
double azimAngle (const Hep3Vector &v2, const Hep3Vector &ref) const
 
Hep3Vectorrotate (const Hep3Vector &axis, double delta)
 
Hep3Vectorrotate (const HepAxisAngle &ax)
 
Hep3Vectorrotate (const HepEulerAngles &e)
 
Hep3Vectorrotate (double phi, double theta, double psi)
 

Static Public Attributes

static const G4StokesVector ZERO =G4ThreeVector(0.,0.,0.)
 
static const G4StokesVector P1 =G4ThreeVector(1.,0.,0.)
 
static const G4StokesVector P2 =G4ThreeVector(0.,1.,0.)
 
static const G4StokesVector P3 =G4ThreeVector(0.,0.,1.)
 
static const G4StokesVector M1 =G4ThreeVector(-1.,0.,0.)
 
static const G4StokesVector M2 =G4ThreeVector(0.,-1.,0.)
 
static const G4StokesVector M3 =G4ThreeVector(0.,0.,-1.)
 

Private Attributes

G4bool isPhoton
 

Additional Inherited Members

- Public Types inherited from CLHEP::Hep3Vector
enum  {
  X =0, Y =1, Z =2, NUM_COORDINATES =3,
  SIZE =NUM_COORDINATES
}
 
enum  { ToleranceTicks = 100 }
 
- Static Public Member Functions inherited from CLHEP::Hep3Vector
static double setTolerance (double tol)
 
static double getTolerance ()
 
- Protected Member Functions inherited from CLHEP::Hep3Vector
void setSpherical (double r, double theta, double phi)
 
void setCylindrical (double r, double phi, double z)
 
double negativeInfinity () const
 
- Protected Attributes inherited from CLHEP::Hep3Vector
double dx
 
double dy
 
double dz
 
- Static Protected Attributes inherited from CLHEP::Hep3Vector
static DLL_API double tolerance = Hep3Vector::ToleranceTicks * 2.22045e-16
 

Detailed Description

Definition at line 57 of file G4StokesVector.hh.

View newest version in sPHENIX GitHub at line 57 of file G4StokesVector.hh

Constructor & Destructor Documentation

G4StokesVector::G4StokesVector ( )

Definition at line 56 of file G4StokesVector.cc.

View newest version in sPHENIX GitHub at line 56 of file G4StokesVector.cc

Referenced by PolError().

+ Here is the caller graph for this function:

G4StokesVector::G4StokesVector ( const G4ThreeVector v)

Definition at line 61 of file G4StokesVector.cc.

View newest version in sPHENIX GitHub at line 61 of file G4StokesVector.cc

G4StokesVector::~G4StokesVector ( )
default

Member Function Documentation

void G4StokesVector::DiceP1 ( )

Definition at line 168 of file G4StokesVector.cc.

View newest version in sPHENIX GitHub at line 168 of file G4StokesVector.cc

References G4UniformRand, CLHEP::Hep3Vector::setX(), CLHEP::Hep3Vector::setY(), and CLHEP::Hep3Vector::setZ().

+ Here is the call graph for this function:

void G4StokesVector::DiceP2 ( )

Definition at line 176 of file G4StokesVector.cc.

View newest version in sPHENIX GitHub at line 176 of file G4StokesVector.cc

References G4UniformRand, CLHEP::Hep3Vector::setX(), CLHEP::Hep3Vector::setY(), and CLHEP::Hep3Vector::setZ().

+ Here is the call graph for this function:

void G4StokesVector::DiceP3 ( )

Definition at line 184 of file G4StokesVector.cc.

View newest version in sPHENIX GitHub at line 184 of file G4StokesVector.cc

References G4UniformRand, CLHEP::Hep3Vector::setX(), CLHEP::Hep3Vector::setY(), and CLHEP::Hep3Vector::setZ().

+ Here is the call graph for this function:

void G4StokesVector::DiceUniform ( )

Definition at line 158 of file G4StokesVector.cc.

View newest version in sPHENIX GitHub at line 158 of file G4StokesVector.cc

References G4UniformRand, pi, CLHEP::Hep3Vector::setX(), CLHEP::Hep3Vector::setY(), and CLHEP::Hep3Vector::setZ().

+ Here is the call graph for this function:

void G4StokesVector::FlipP3 ( )

Definition at line 192 of file G4StokesVector.cc.

View newest version in sPHENIX GitHub at line 192 of file G4StokesVector.cc

References CLHEP::Hep3Vector::setZ(), and CLHEP::Hep3Vector::z().

+ Here is the call graph for this function:

G4double G4StokesVector::GetBeta ( )

Definition at line 151 of file G4StokesVector.cc.

View newest version in sPHENIX GitHub at line 151 of file G4StokesVector.cc

References CLHEP::Hep3Vector::getPhi(), and isPhoton.

+ Here is the call graph for this function:

void G4StokesVector::InvRotateAz ( G4ThreeVector  nInteractionFrame,
G4ThreeVector  particleDirection 
)

Definition at line 108 of file G4StokesVector.cc.

View newest version in sPHENIX GitHub at line 108 of file G4StokesVector.cc

References CLHEP::Hep3Vector::cross(), e, G4cout, G4PolarizationHelper::GetParticleFrameY(), and RotateAz().

Referenced by G4ePolarizedBremsstrahlungModel::SampleSecondaries(), G4PolarizedGammaConversionModel::SampleSecondaries(), G4PolarizedMollerBhabhaModel::SampleSecondaries(), G4PolarizedPEEffectModel::SampleSecondaries(), G4PolarizedComptonModel::SampleSecondaries(), and G4PolarizedAnnihilationModel::SampleSecondaries().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4StokesVector::IsZero ( ) const

Definition at line 66 of file G4StokesVector.cc.

View newest version in sPHENIX GitHub at line 66 of file G4StokesVector.cc

References ZERO.

Referenced by G4ePolarizedIonisation::ComputeSaturationFactor(), G4PolarizedBhabhaCrossSection::Initialize(), G4PolarizedMollerCrossSection::Initialize(), G4PolarizedBhabhaCrossSection::XSection(), and G4PolarizedMollerCrossSection::XSection().

+ Here is the caller graph for this function:

G4double G4StokesVector::p1 ( ) const
inline

Definition at line 75 of file G4StokesVector.hh.

View newest version in sPHENIX GitHub at line 75 of file G4StokesVector.hh

References CLHEP::Hep3Vector::x().

Referenced by arorie(), attrad(), pyeig4(), pytbdy(), pytbhg(), pytbhq(), RotateAz(), G4ePolarizedBremsstrahlungModel::SampleSecondaries(), G4PolarizedGammaConversionModel::SampleSecondaries(), G4PolarizedPEEffectModel::SampleSecondaries(), G4PolarizedComptonModel::SampleSecondaries(), and G4PolarizedAnnihilationModel::SampleSecondaries().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4StokesVector::p2 ( ) const
inline

Definition at line 76 of file G4StokesVector.hh.

View newest version in sPHENIX GitHub at line 76 of file G4StokesVector.hh

References CLHEP::Hep3Vector::y().

Referenced by attrad(), luindf(), pyboei(), pyeig4(), pygano(), pygbeh(), pygdir(), pyggam(), pygvmd(), pyindf(), pypdel(), pypdfu(), pypole(), pytbdy(), pytbhg(), pytbhq(), RotateAz(), G4PolarizedGammaConversionModel::SampleSecondaries(), G4ePolarizedBremsstrahlungModel::SampleSecondaries(), G4PolarizedPEEffectModel::SampleSecondaries(), G4PolarizedComptonModel::SampleSecondaries(), and G4PolarizedAnnihilationModel::SampleSecondaries().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4StokesVector::p3 ( ) const
inline

Definition at line 77 of file G4StokesVector.hh.

View newest version in sPHENIX GitHub at line 77 of file G4StokesVector.hh

References CLHEP::Hep3Vector::z().

Referenced by arorie(), attrad(), G4PolarizedComptonModel::ComputeCrossSectionPerAtom(), G4PolarizedCompton::ComputeSaturationFactor(), pytbdy(), pytbhg(), pytbhq(), G4PolarizedGammaConversionModel::SampleSecondaries(), G4ePolarizedBremsstrahlungModel::SampleSecondaries(), G4PolarizedPEEffectModel::SampleSecondaries(), G4PolarizedComptonModel::SampleSecondaries(), G4PolarizedAnnihilationModel::SampleSecondaries(), and G4PolarizedComptonCrossSection::TotalXSection().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4ThreeVector G4StokesVector::PolDiv ( const G4StokesVector b)

Definition at line 204 of file G4StokesVector.cc.

View newest version in sPHENIX GitHub at line 204 of file G4StokesVector.cc

References CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().

+ Here is the call graph for this function:

G4ThreeVector G4StokesVector::PolError ( const G4StokesVector sum2,
long  n 
)

Definition at line 197 of file G4StokesVector.cc.

View newest version in sPHENIX GitHub at line 197 of file G4StokesVector.cc

References G4StokesVector(), n, PolSqr(), and PolSqrt().

+ Here is the call graph for this function:

G4ThreeVector G4StokesVector::PolSqr ( ) const
inline

Definition at line 81 of file G4StokesVector.hh.

View newest version in sPHENIX GitHub at line 81 of file G4StokesVector.hh

References CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().

Referenced by PolError().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4ThreeVector G4StokesVector::PolSqrt ( ) const
inline

Definition at line 84 of file G4StokesVector.hh.

View newest version in sPHENIX GitHub at line 84 of file G4StokesVector.hh

References CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().

Referenced by PolError().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4StokesVector::RotateAz ( G4ThreeVector  nInteractionFrame,
G4ThreeVector  particleDirection 
)

Definition at line 71 of file G4StokesVector.cc.

View newest version in sPHENIX GitHub at line 71 of file G4StokesVector.cc

References CLHEP::Hep3Vector::cross(), e, G4cout, G4endl, G4PolarizationHelper::GetParticleFrameY(), and CLHEP::Hep3Vector::mag().

Referenced by InvRotateAz(), G4PolarizedGammaConversionModel::SampleSecondaries(), G4ePolarizedBremsstrahlungModel::SampleSecondaries(), G4PolarizedMollerBhabhaModel::SampleSecondaries(), G4PolarizedPEEffectModel::SampleSecondaries(), G4PolarizedComptonModel::SampleSecondaries(), and G4PolarizedAnnihilationModel::SampleSecondaries().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4StokesVector::RotateAz ( G4double  cosphi,
G4double  sinphi 
)

Definition at line 132 of file G4StokesVector.cc.

View newest version in sPHENIX GitHub at line 132 of file G4StokesVector.cc

References isPhoton, p1(), p2(), CLHEP::Hep3Vector::setX(), and CLHEP::Hep3Vector::setY().

+ Here is the call graph for this function:

void G4StokesVector::SetPhoton ( )
inline

Definition at line 92 of file G4StokesVector.hh.

View newest version in sPHENIX GitHub at line 92 of file G4StokesVector.hh

References isPhoton.

Referenced by G4PolarizedPairProductionCrossSection::Initialize(), G4PolarizedBremsstrahlungCrossSection::Initialize(), G4PolarizedGammaConversionModel::SampleSecondaries(), G4ePolarizedBremsstrahlungModel::SampleSecondaries(), G4PolarizedPEEffectModel::SampleSecondaries(), G4PolarizedComptonModel::SampleSecondaries(), and G4PolarizedAnnihilationModel::SampleSecondaries().

+ Here is the caller graph for this function:

G4double G4StokesVector::Transverse ( ) const
inline

Definition at line 79 of file G4StokesVector.hh.

View newest version in sPHENIX GitHub at line 79 of file G4StokesVector.hh

References CLHEP::Hep3Vector::perp().

+ Here is the call graph for this function:

Member Data Documentation

G4bool G4StokesVector::isPhoton
private

Definition at line 108 of file G4StokesVector.hh.

View newest version in sPHENIX GitHub at line 108 of file G4StokesVector.hh

Referenced by GetBeta(), RotateAz(), and SetPhoton().

const G4StokesVector G4StokesVector::M1 =G4ThreeVector(-1.,0.,0.)
static

Definition at line 65 of file G4StokesVector.hh.

View newest version in sPHENIX GitHub at line 65 of file G4StokesVector.hh

const G4StokesVector G4StokesVector::M2 =G4ThreeVector(0.,-1.,0.)
static

Definition at line 66 of file G4StokesVector.hh.

View newest version in sPHENIX GitHub at line 66 of file G4StokesVector.hh

const G4StokesVector G4StokesVector::M3 =G4ThreeVector(0.,0.,-1.)
static

Definition at line 67 of file G4StokesVector.hh.

View newest version in sPHENIX GitHub at line 67 of file G4StokesVector.hh

const G4StokesVector G4StokesVector::P1 =G4ThreeVector(1.,0.,0.)
static
const G4StokesVector G4StokesVector::P2 =G4ThreeVector(0.,1.,0.)
static
const G4StokesVector G4StokesVector::P3 =G4ThreeVector(0.,0.,1.)
static

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