Last change
on this file was
997,
checked in by srkline, 7 years ago
|
Updates for Xcode 7, Toolkit 7, and 64-bit version
|
File size:
1.5 KB
|
Rev | Line | |
---|
[997] | 1 | /* |
---|
| 2 | * Metropolis.h |
---|
| 3 | * SANSAnalysis |
---|
| 4 | * |
---|
| 5 | * Created by Steve Kline on 7/15/14. |
---|
| 6 | * Copyright 2008 __MyCompanyName__. All rights reserved. |
---|
| 7 | * |
---|
| 8 | */ |
---|
| 9 | |
---|
| 10 | |
---|
| 11 | // All structures passed to Igor are two-byte aligned. |
---|
| 12 | #pragma pack(2) |
---|
| 13 | |
---|
| 14 | struct Metropolis_Params { // This structure must be 2-byte-aligned because it receives parameters from Igor. |
---|
| 15 | double gCount; |
---|
| 16 | double nIter; |
---|
| 17 | double nVox; |
---|
| 18 | double tVox; |
---|
| 19 | double radius; |
---|
| 20 | waveHndl energyH; |
---|
| 21 | waveHndl zzH; |
---|
| 22 | waveHndl yyH; |
---|
| 23 | waveHndl xxH; |
---|
| 24 | waveHndl UofRH; |
---|
| 25 | void* tp; //unused void for ThreadSafe functions |
---|
| 26 | double retVal; // return value is unused, save for error if needed |
---|
| 27 | }; |
---|
| 28 | typedef struct Metropolis_Params Metropolis_Params; |
---|
| 29 | typedef struct Metropolis_Params *Metropolis_ParamsPtr; |
---|
| 30 | |
---|
| 31 | /* |
---|
| 32 | struct MetroEnergy_Params { |
---|
| 33 | double index; |
---|
| 34 | double rz; |
---|
| 35 | double ry; |
---|
| 36 | double rx; |
---|
| 37 | double nVox; |
---|
| 38 | double tVox; |
---|
| 39 | double radius; |
---|
| 40 | waveHndl zzH; |
---|
| 41 | waveHndl yyH; |
---|
| 42 | waveHndl xxH; |
---|
| 43 | waveHndl UofRH; |
---|
| 44 | void* tp; |
---|
| 45 | double retVal; |
---|
| 46 | }; |
---|
| 47 | typedef struct MetroEnergy_Params MetroEnergy_Params; |
---|
| 48 | typedef struct MetroEnergy_Params *MetroEnergy_ParamsPtr; |
---|
| 49 | */ |
---|
| 50 | |
---|
| 51 | #pragma pack() // return to default structure packing |
---|
| 52 | |
---|
| 53 | // function prototypes - communicates w/Igor |
---|
| 54 | int MetropolisX(Metropolis_ParamsPtr p); |
---|
| 55 | |
---|
| 56 | |
---|
| 57 | // internal to the XOP |
---|
| 58 | double M_energy(double ur[], double xx[], double yy[], double zz[], double tVox, CountInt nVox, double dx, double dy, double dz, CountInt jj, CountInt num); |
---|
| 59 | double M_TotalEnergy(double ur[], double xx[], double yy[], double zz[], double tVox, CountInt nVox, CountInt num); |
---|
Note: See
TracBrowser
for help on using the repository browser.