LALSimulation  5.4.0.1-fe68b98
LALSimIMRSpinPrecEOBEulerAngles.c File Reference

Prototypes

static UNUSED int EulerAnglesZYZFromRotationMatrixActive (REAL8 *alpha, REAL8 *beta, REAL8 *gamma, REAL8Array *R)
 Computes the Euler angles in the (z,y,z) convention corresponding to a given 3*3 active rotation matrix R has to be 3*3. More...
 
static UNUSED int RotationMatrixActiveFromBasisVectors (REAL8Array *R, const REAL8 e1p[], const REAL8 e2p[], const REAL8 e3p[])
 Active rotation matrix from orthonormal basis (e1, e2, e3) to (e1', e2', e3') Input are e1', e2', e3' decomposed on (e1, e2, e3) All vectors are 3-vectors, R matrix 3*3 has to be already allocated. More...
 
static double f_alphadotcosi (double x, void *inparams)
 Computes RHS of ODE for gamma. More...
 
static UNUSED int EulerAnglesI2P (REAL8Vector *Alpha, REAL8Vector *Beta, REAL8Vector *Gamma, INT4 *phaseCounterA, INT4 *phaseCounterB, const REAL8Vector tVec, const REAL8Vector posVecx, const REAL8Vector posVecy, const REAL8Vector posVecz, const UINT4 retLenLow, const REAL8 InitialAlpha, const REAL8 InitialGamma, UINT4 flag_highSR, const UINT4 use_optimized)
 Given the trajectory in an inertial frame, this computes Euler angles of the roation from the inertial frame to the minimal-rotation frame that co-precesses with LN(t) = rvec(t) x rdotvec(t) More...
 
static UNUSED void EulerAnglesP2J (REAL8 *aP2J, REAL8 *bP2J, REAL8 *gP2J, const REAL8 aI2P, const REAL8 bI2P, const REAL8 gI2P, const REAL8 LNhx, const REAL8 LNhy, const REAL8 LNhz, const REAL8 JframeEx[], const REAL8 JframeEy[], const REAL8 JframeEz[])
 Given Euler angles to go from initial inertial frame to precessing frama and the LNhat vector, this functions computes the Euler angles to go from the precessing frame to the frame of the total angular momentum. More...
 

Go to the source code of this file.

Macros

#define _LALSIMIMRSPINPRECEOBEULERANGLES_C
 

Macro Definition Documentation

◆ _LALSIMIMRSPINPRECEOBEULERANGLES_C

#define _LALSIMIMRSPINPRECEOBEULERANGLES_C

Definition at line 2 of file LALSimIMRSpinPrecEOBEulerAngles.c.

Function Documentation

◆ EulerAnglesZYZFromRotationMatrixActive()

static UNUSED int EulerAnglesZYZFromRotationMatrixActive ( REAL8 alpha,
REAL8 beta,
REAL8 gamma,
REAL8Array R 
)
static

Computes the Euler angles in the (z,y,z) convention corresponding to a given 3*3 active rotation matrix R has to be 3*3.

Definition at line 9 of file LALSimIMRSpinPrecEOBEulerAngles.c.

◆ RotationMatrixActiveFromBasisVectors()

static UNUSED int RotationMatrixActiveFromBasisVectors ( REAL8Array R,
const REAL8  e1p[],
const REAL8  e2p[],
const REAL8  e3p[] 
)
static

Active rotation matrix from orthonormal basis (e1, e2, e3) to (e1', e2', e3') Input are e1', e2', e3' decomposed on (e1, e2, e3) All vectors are 3-vectors, R matrix 3*3 has to be already allocated.

Definition at line 25 of file LALSimIMRSpinPrecEOBEulerAngles.c.

◆ f_alphadotcosi()

static double f_alphadotcosi ( double  x,
void *  inparams 
)
static

Computes RHS of ODE for gamma.

Eq. 10 of PRD 89, 084006 (2014)

Definition at line 42 of file LALSimIMRSpinPrecEOBEulerAngles.c.

◆ EulerAnglesI2P()

static UNUSED int EulerAnglesI2P ( REAL8Vector Alpha,
REAL8Vector Beta,
REAL8Vector Gamma,
INT4 phaseCounterA,
INT4 phaseCounterB,
const REAL8Vector  tVec,
const REAL8Vector  posVecx,
const REAL8Vector  posVecy,
const REAL8Vector  posVecz,
const UINT4  retLenLow,
const REAL8  InitialAlpha,
const REAL8  InitialGamma,
UINT4  flag_highSR,
const UINT4  use_optimized 
)
static

Given the trajectory in an inertial frame, this computes Euler angles of the roation from the inertial frame to the minimal-rotation frame that co-precesses with LN(t) = rvec(t) x rdotvec(t)

Parameters
Alpha< output: alpha Euler angle
Beta< output: beta Euler angle
Gamma< output: gamma Euler angle
phaseCounterA< output: counter for unwrapping of alpha
phaseCounterB< output: counter for unwrapping of beta
tVec< time series
posVecx< x time series
posVecy< y time series
posVecz< z time series
retLenLow< Array length of the trajectory
InitialAlpha< Initial alpha (used only if flag_highSR=1)
InitialGamma< Initial gamma
flag_highSR< Flag to indicate whether one is analyzing the high SR trajectory
use_optimized< Flag to indicate whether one is using SEOBNRv3_opt

Definition at line 57 of file LALSimIMRSpinPrecEOBEulerAngles.c.

◆ EulerAnglesP2J()

static UNUSED void EulerAnglesP2J ( REAL8 aP2J,
REAL8 bP2J,
REAL8 gP2J,
const REAL8  aI2P,
const REAL8  bI2P,
const REAL8  gI2P,
const REAL8  LNhx,
const REAL8  LNhy,
const REAL8  LNhz,
const REAL8  JframeEx[],
const REAL8  JframeEy[],
const REAL8  JframeEz[] 
)
static

Given Euler angles to go from initial inertial frame to precessing frama and the LNhat vector, this functions computes the Euler angles to go from the precessing frame to the frame of the total angular momentum.

Parameters
aP2J< alpha Euler angle from precessing to final-J frame
bP2J< beta Euler angle from precessing to final-J frame
gP2J< gamma Euler angle from precessing to final-J frame
aI2P< alpha Euler angle from inertial to precessing frame
bI2P< beta Euler angle from inertial to precessing frame
gI2P< gamma Euler angle from inertial to precessing frame
LNhx< x component of LNhat
LNhy< y component of LNhat
LNhz< z component of LNhat
JframeEx< x-axis of the total-angular-momentum frame
JframeEy< y-axis of the total-angular-momentum frame
JframeEz< z-axis of the total-angular-momentum frame

Definition at line 205 of file LALSimIMRSpinPrecEOBEulerAngles.c.