Changeset 3253 for branches

Show
Ignore:
Timestamp:
01/26/12 21:06:25 (4 months ago)
Author:
erkn
Message:

McDode? run-time: coordinate change functions have been moved here from mc/mx rt.

Location:
branches/mcxtrace-1.0/lib/share
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • branches/mcxtrace-1.0/lib/share/mccode-r.c

    r3251 r3253  
    35083508 
    35093509/******************************************************************************* 
    3510 * mccoordschange: applies rotation to (x y z) and (vx vy vz). Spin unchanged 
     3510* mccoordschange: applies rotation to (x y z) and (vx vy vz) and Spin (sx,sy,sz) 
    35113511*******************************************************************************/ 
    35123512void 
    35133513mccoordschange(Coords a, Rotation t, double *x, double *y, double *z, 
    3514                double *vx, double *vy, double *vz) 
     3514               double *vx, double *vy, double *vz, double *sx, double *sy, double *sz) 
    35153515{ 
    35163516  Coords b, c; 
    35173517 
    3518   b.x = *x; 
    3519   b.y = *y; 
    3520   b.z = *z; 
    3521   c = rot_apply(t, b); 
    3522   b = coords_add(c, a); 
    3523   *x = b.x; 
    3524   *y = b.y; 
    3525   *z = b.z; 
    3526  
    3527   b.x = *vx; 
    3528   b.y = *vy; 
    3529   b.z = *vz; 
    3530   c = rot_apply(t, b); 
    3531   *vx = c.x; 
    3532   *vy = c.y; 
    3533   *vz = c.z; 
    3534   /* spin handled with mccoordschange_polarisation */ 
    3535 } 
    3536  
    3537 /******************************************************************************* 
    3538 * mccoordschange_polarisation: applies rotation to (sx sy sz) 
     3518  if (x != NULL && y != NULL && z != NULL) { 
     3519    b.x = *x; 
     3520    b.y = *y; 
     3521    b.z = *z; 
     3522    c = rot_apply(t, b); 
     3523    b = coords_add(c, a); 
     3524    *x = b.x; 
     3525    *y = b.y; 
     3526    *z = b.z; 
     3527  } 
     3528   
     3529  if (vx != NULL && vy != NULL && vz != NULL) mccoordschange_polarisation(t, vx, vy, vz); 
     3530   
     3531  if (sx != NULL && sy != NULL && sz != NULL) mccoordschange_polarisation(t, sx, sy, sz); 
     3532 
     3533} 
     3534 
     3535/******************************************************************************* 
     3536* mccoordschange_polarisation: applies rotation to vector (sx sy sz) 
    35393537*******************************************************************************/ 
    35403538void 
  • branches/mcxtrace-1.0/lib/share/mccode-r.h.in

    r3164 r3253  
    612612Coords rot_apply(Rotation t, Coords a); 
    613613 
     614void mccoordschange(Coords a, Rotation t, double *x, double *y, double *z, 
     615    double *vx, double *vy, double *vz, double *sx, double *sy, double *sz); 
     616void 
     617mccoordschange_polarisation(Rotation t, double *sx, double *sy, double *sz); 
     618 
    614619double mcestimate_error(double N, double p1, double p2); 
    615620void mcreadparams(void);