source: sans/XOP_Dev/MonteCarlo/Metropolis.h

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
Line 
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
14struct 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};
28typedef struct Metropolis_Params Metropolis_Params;
29typedef struct Metropolis_Params *Metropolis_ParamsPtr;
30
31/*
32struct 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};
47typedef struct MetroEnergy_Params MetroEnergy_Params;
48typedef struct MetroEnergy_Params *MetroEnergy_ParamsPtr;
49*/
50
51#pragma pack()          // return to default structure packing
52
53// function prototypes - communicates w/Igor
54int MetropolisX(Metropolis_ParamsPtr p);
55
56
57// internal to the XOP
58double M_energy(double ur[], double xx[], double yy[], double zz[], double tVox, CountInt nVox, double dx, double dy, double dz, CountInt jj, CountInt num);
59double 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.