diff --git a/cpp/src/core/sroptang.h b/cpp/src/core/sroptang.h index d0370a26..2294731c 100644 --- a/cpp/src/core/sroptang.h +++ b/cpp/src/core/sroptang.h @@ -31,7 +31,7 @@ class srTOptAngle : public srTGenOptElem { } //int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResBeforeAndAfterVect) //virtual - int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResBeforeAndAfterVect, void* pvGPU) //virtual //HG30112023 + int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResBeforeAndAfterVect, void* pvGPU=0) //virtual //HG30112023 { //return PropagateRadiationMeth_0(pRadAccessData); int res = 0; @@ -135,7 +135,8 @@ class srTOptShift : public srTGenOptElem { ShiftY = InShiftY; } - int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResBeforeAndAfterVect) //virtual + //int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResBeforeAndAfterVect) //virtual + int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResBeforeAndAfterVect, void* pvGPU=0) //virtual //HG04122023 { //return PropagateRadiationMeth_0(pRadAccessData); int res = 0; diff --git a/cpp/src/core/sroptapt.h b/cpp/src/core/sroptapt.h index e5f22dac..98f6598c 100644 --- a/cpp/src/core/sroptapt.h +++ b/cpp/src/core/sroptapt.h @@ -34,7 +34,7 @@ class srTAperture : public srTShapedOptElem { //int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, int MethNo, srTRadResizeVect& ResBeforeAndAfterVect) //int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResBeforeAndAfterVect) - int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResBeforeAndAfterVect, void* pvGPU) //HG30112023 + int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResBeforeAndAfterVect, void* pvGPU=0) //HG30112023 { char &MethNo = ParPrecWfrPropag.MethNo; @@ -82,7 +82,7 @@ class srTAperture : public srTShapedOptElem { //int PropagateRadiationSimple(srTSRWRadStructAccessData* pRadAccessData, void* pBuf=0) //OC06092019 //OC01102019 (restored) //int PropagateRadiationSimple(srTSRWRadStructAccessData* pRadAccessData) - int PropagateRadiationSimple(srTSRWRadStructAccessData* pRadAccessData, void* pvGPU) //HG30112023 + int PropagateRadiationSimple(srTSRWRadStructAccessData* pRadAccessData, void* pvGPU=0) //HG30112023 { int result; //if(pRadAccessData->Pres != 0) if(result = SetRadRepres(pRadAccessData, 0)) return result; diff --git a/cpp/src/core/sroptcryst.h b/cpp/src/core/sroptcryst.h index af6f535f..ee0ef80b 100644 --- a/cpp/src/core/sroptcryst.h +++ b/cpp/src/core/sroptcryst.h @@ -944,7 +944,7 @@ class srTOptCryst : public srTGenOptElem { } //int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResBeforeAndAfterVect) //virtual in srTGenOptElem - int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResBeforeAndAfterVect, void* pvGPU) //virtual in srTGenOptElem //HG01122023 + int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResBeforeAndAfterVect, void* pvGPU=0) //virtual in srTGenOptElem //HG01122023 { m_eStartAux = pRadAccessData->eStart; m_eStepAux = pRadAccessData->eStep; m_ne = pRadAccessData->ne; //required for RadPointModifier diff --git a/cpp/src/core/sroptdrf.h b/cpp/src/core/sroptdrf.h index a6a16d20..c3a7509a 100644 --- a/cpp/src/core/sroptdrf.h +++ b/cpp/src/core/sroptdrf.h @@ -179,7 +179,7 @@ class srTDriftSpace : public srTGenOptElem { //int PropagateRadiationSingleE_Meth_0(srTSRWRadStructAccessData* pRadAccessData, srTSRWRadStructAccessData* pPrevRadAccessData, void* pBuf=0) //OC06092019 //OC01102019 (restored) //int PropagateRadiationSingleE_Meth_0(srTSRWRadStructAccessData* pRadAccessData, srTSRWRadStructAccessData* pPrevRadAccessData) - int PropagateRadiationSingleE_Meth_0(srTSRWRadStructAccessData* pRadAccessData, srTSRWRadStructAccessData* pPrevRadAccessData, void* pvGPU) //HG01122023 + int PropagateRadiationSingleE_Meth_0(srTSRWRadStructAccessData* pRadAccessData, srTSRWRadStructAccessData* pPrevRadAccessData, void* pvGPU=0) //HG01122023 {//it works for many photon energies too! int result; //if(result = PropagateRadiationSimple(pRadAccessData, pBuf)) return result; //OC06092019 @@ -312,7 +312,7 @@ class srTDriftSpace : public srTGenOptElem { //int PropagateRadiationSimple(srTSRWRadStructAccessData* pRadAccessData, void* pBuf=0) //OC06092019 //OC01102019 (restored) //int PropagateRadiationSimple(srTSRWRadStructAccessData* pRadAccessData) - int PropagateRadiationSimple(srTSRWRadStructAccessData* pRadAccessData, void* pvGPU) //HG01122023 + int PropagateRadiationSimple(srTSRWRadStructAccessData* pRadAccessData, void* pvGPU=0) //HG01122023 { //srTDriftPropBufVars* pBufVars = (srTDriftPropBufVars*)pBuf; //OC06092019 //char LocalPropMode = pBufVars->LocalPropMode; //OC06092019 diff --git a/cpp/src/core/sroptfoc.h b/cpp/src/core/sroptfoc.h index d2a05579..f950a775 100644 --- a/cpp/src/core/sroptfoc.h +++ b/cpp/src/core/sroptfoc.h @@ -153,7 +153,8 @@ class srTThinLens : public srTFocusingElem { srTThinLens() {} //int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, int MethNo, srTRadResizeVect& ResBeforeAndAfterVect) - int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResBeforeAndAfterVect) + //int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResBeforeAndAfterVect) + int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResBeforeAndAfterVect, void* pvGPU=0) //HG04122023 { //if(ParPrecWfrPropag.AnalTreatment == 1) //{// Treating linear terms analytically @@ -197,11 +198,14 @@ class srTThinLens : public srTFocusingElem { //int PropagateRadiationSimple(srTSRWRadStructAccessData* pRadAccessData, void* pBuf=0) //OC06092019 //OC01102019 (restored) - int PropagateRadiationSimple(srTSRWRadStructAccessData* pRadAccessData) + //int PropagateRadiationSimple(srTSRWRadStructAccessData* pRadAccessData) + int PropagateRadiationSimple(srTSRWRadStructAccessData* pRadAccessData, void* pvGPU=0) //HG04122023 { int result; - if(pRadAccessData->Pres != 0) if(result = SetRadRepres(pRadAccessData, 0)) return result; - if(result = TraverseRadZXE(pRadAccessData)) return result; + //if(pRadAccessData->Pres != 0) if(result = SetRadRepres(pRadAccessData, 0)) return result; + if(pRadAccessData->Pres != 0) if(result = SetRadRepres(pRadAccessData, 0, 0, 0, pvGPU)) return result; //HG04122023 + //if(result = TraverseRadZXE(pRadAccessData)) return result; + if(result = TraverseRadZXE(pRadAccessData, 0, 0, pvGPU)) return result; //HG04122023 return 0; } int PropagateRadiationSimple1D(srTRadSect1D* pSect1D) diff --git a/cpp/src/core/sroptgrat.h b/cpp/src/core/sroptgrat.h index 487f805f..2c761663 100644 --- a/cpp/src/core/sroptgrat.h +++ b/cpp/src/core/sroptgrat.h @@ -96,7 +96,8 @@ class srTGrating : public srTShapedOptElem { m_PropWfrInPlace = true; //OC151008 //previous electric field is NOT necessary for the propagation } - int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResBeforeAndAfterVect) + //int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResBeforeAndAfterVect) + int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResBeforeAndAfterVect, void* pvGPU=0) //HG04122023 { //char &MethNo = ParPrecWfrPropag.MethNo; SetupPropBufVars_Gen(pRadAccessData); diff --git a/cpp/src/core/sroptgtr.h b/cpp/src/core/sroptgtr.h index 202190c3..34052e34 100644 --- a/cpp/src/core/sroptgtr.h +++ b/cpp/src/core/sroptgtr.h @@ -82,7 +82,7 @@ class srTGenTransmission : public srTFocusingElem { //int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, int MethNo, srTRadResizeVect& ResBeforeAndAfterArr) //int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResBeforeAndAfterArr) - int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResBeforeAndAfterArr, void* pvGPU) //HG01122023 + int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResBeforeAndAfterArr, void* pvGPU=0) //HG01122023 { //if(ParPrecWfrPropag.AnalTreatment == 1) //{// Treating linear terms analytically @@ -125,7 +125,7 @@ class srTGenTransmission : public srTFocusingElem { //int PropagateRadiationSimple(srTSRWRadStructAccessData* pRadAccessData, void* pBuf=0) //OC06092019 //OC01102019 (restored) //int PropagateRadiationSimple(srTSRWRadStructAccessData* pRadAccessData) - int PropagateRadiationSimple(srTSRWRadStructAccessData* pRadAccessData, void* pvGPU) //HG01122023 + int PropagateRadiationSimple(srTSRWRadStructAccessData* pRadAccessData, void* pvGPU=0) //HG01122023 { int result; //if(pRadAccessData->Pres != 0) if(result = SetRadRepres(pRadAccessData, 0)) return result; diff --git a/cpp/src/core/sropthck.h b/cpp/src/core/sropthck.h index 45f09323..cc7fe350 100644 --- a/cpp/src/core/sropthck.h +++ b/cpp/src/core/sropthck.h @@ -167,7 +167,8 @@ class srTMirror : public srTFocusingElem { //return true; } - int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResBeforeAndAfterVect) //virtual in srTGenOptElem + //int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResBeforeAndAfterVect) //virtual in srTGenOptElem + int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResBeforeAndAfterVect, void* pvGPU=0) //virtual in srTGenOptElem //HG04122023 { m_ParPrecWfrPropag = ParPrecWfrPropag; //store for use in a composite prapagator (through drif space, etc.) @@ -206,7 +207,8 @@ class srTMirror : public srTFocusingElem { //int PropagateRadiationSimple(srTSRWRadStructAccessData* pRadAccessData, void* pBuf=0) //OC06092019 //OC01102019 (restored) - int PropagateRadiationSimple(srTSRWRadStructAccessData* pRadAccessData) + //int PropagateRadiationSimple(srTSRWRadStructAccessData* pRadAccessData) + int PropagateRadiationSimple(srTSRWRadStructAccessData* pRadAccessData, void* pvGPU=0) //HG04122023 { if(m_propMeth == 1) return PropagateRadiationSimple_ThinElem(pRadAccessData); else if(m_propMeth == 2) return PropagateRadiationSimple_LocRayTracing(pRadAccessData); diff --git a/cpp/src/core/sroptpsh.h b/cpp/src/core/sroptpsh.h index ab0ac787..181df8df 100644 --- a/cpp/src/core/sroptpsh.h +++ b/cpp/src/core/sroptpsh.h @@ -75,7 +75,8 @@ class srTPhaseShift : public srTFocusingElem { } //int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, int MethNo, srTRadResizeVect& ResBeforeAndAfterVect) - int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResBeforeAndAfterVect) + //int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResBeforeAndAfterVect) + int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResBeforeAndAfterVect, void* pvGPU=0) //HG04122023 { char &MethNo = ParPrecWfrPropag.MethNo; @@ -86,7 +87,8 @@ class srTPhaseShift : public srTFocusingElem { //int PropagateRadiationSimple(srTSRWRadStructAccessData* pRadAccessData, void* pBuf=0) //OC06092019 //OC01102019 (restored) - int PropagateRadiationSimple(srTSRWRadStructAccessData* pRadAccessData) + //int PropagateRadiationSimple(srTSRWRadStructAccessData* pRadAccessData) + int PropagateRadiationSimple(srTSRWRadStructAccessData* pRadAccessData, void* pvGPU=0) //HG04122023 { int result; srTWaveAccessData PhShWaveAccessData; @@ -94,8 +96,10 @@ class srTPhaseShift : public srTFocusingElem { //tPhaseShiftData = (DOUBLE*)(PhShWaveAccessData.pWaveData); tPhaseShiftData = (double*)(PhShWaveAccessData.pWaveData); //OC26112019 (related to SRW port to IGOR XOP8 on Mac) - if(pRadAccessData->Pres != 0) if(result = SetRadRepres(pRadAccessData, 0)) return result; - if(result = TraverseRadZXE(pRadAccessData)) return result; + //if(pRadAccessData->Pres != 0) if(result = SetRadRepres(pRadAccessData, 0)) return result; + if(pRadAccessData->Pres != 0) if(result = SetRadRepres(pRadAccessData, 0, 0, 0, pvGPU)) return result; //HG04122023 + //if(result = TraverseRadZXE(pRadAccessData)) return result; + if(result = TraverseRadZXE(pRadAccessData, 0, 0, pvGPU)) return result; //HG04122023 //srTSend Send; //if(result = Send.FinishWorkingWithWave(&PhShWaveAccessData)) return result; diff --git a/cpp/src/core/sroptsmr.h b/cpp/src/core/sroptsmr.h index 9d36eb82..f0d1e6b1 100644 --- a/cpp/src/core/sroptsmr.h +++ b/cpp/src/core/sroptsmr.h @@ -67,10 +67,12 @@ class srTSpherMirror : public srTFocusingElem { void SetupSpherMirrorApprox(); //int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, int MethNo, srTRadResizeVect& ResBeforeAndAfterVect) - int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResBeforeAndAfterVect) + //int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResBeforeAndAfterVect) + int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResBeforeAndAfterVect, void* pvGPU=0) //HG04122023 { //if(UseSpherMirrorApprox) return ((srTGenOptElem*)(SpherMirrorApproxHndl.rep))->PropagateRadiation(pRadAccessData, MethNo, ResBeforeAndAfterVect); - if(UseSpherMirrorApprox) return ((srTGenOptElem*)(SpherMirrorApproxHndl.rep))->PropagateRadiation(pRadAccessData, ParPrecWfrPropag, ResBeforeAndAfterVect); + //if(UseSpherMirrorApprox) return ((srTGenOptElem*)(SpherMirrorApproxHndl.rep))->PropagateRadiation(pRadAccessData, ParPrecWfrPropag, ResBeforeAndAfterVect); + if(UseSpherMirrorApprox) return ((srTGenOptElem*)(SpherMirrorApproxHndl.rep))->PropagateRadiation(pRadAccessData, ParPrecWfrPropag, ResBeforeAndAfterVect, pvGPU); //HG04122023 else { char &MethNo = ParPrecWfrPropag.MethNo; diff --git a/cpp/src/core/sroptwgr.h b/cpp/src/core/sroptwgr.h index c9be6164..580b97d3 100644 --- a/cpp/src/core/sroptwgr.h +++ b/cpp/src/core/sroptwgr.h @@ -134,7 +134,8 @@ class srTWaveguideRect : public srTShapedOptElem { } //int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, int MethNo, srTRadResizeVect& ResizeBeforeAndAfterVect) - int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResizeBeforeAndAfterVect) + //int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResizeBeforeAndAfterVect) + int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResizeBeforeAndAfterVect, void* pvGPU=0) //HG04122023 { //Checks current sampling "resolution" in hor. and vert. directions //Makes necessary sampling for propag. through the waveguide (fit the waveguide with approx. the same resolution, include all harmonics until the cut-off) @@ -151,7 +152,8 @@ class srTWaveguideRect : public srTShapedOptElem { if(result = PropagateRadiationSimple_AngRepres(&AuxWfrData)) return result; srTRectAperture RectAp(Dx, Dz, TransvCenPoint.x, TransvCenPoint.y); - if(result = RectAp.TraverseRadZXE(&AuxWfrData)) return result; + //if(result = RectAp.TraverseRadZXE(&AuxWfrData)) return result; + if(result = RectAp.TraverseRadZXE(&AuxWfrData, 0, 0, pvGPU)) return result; //HG04122023 if(result = CopyElecFieldDataForOut(AuxWfrData, *pRadAccessData)) return result; AuxWfrData.DeleteElecFieldArrays(); //deletes Ex, Ez only diff --git a/cpp/src/core/sroptzp.h b/cpp/src/core/sroptzp.h index 813974de..68ae1ee7 100644 --- a/cpp/src/core/sroptzp.h +++ b/cpp/src/core/sroptzp.h @@ -100,7 +100,8 @@ class srTZonePlate : public srTFocusingElem { srTZonePlate() {} //int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, int MethNo, srTRadResizeVect& ResBeforeAndAfterVect) - int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResBeforeAndAfterVect) + //int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResBeforeAndAfterVect) + int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResBeforeAndAfterVect, void* pvGPU=0) //HG04122023 { //if(ParPrecWfrPropag.AnalTreatment == 1) //{// Treating linear terms analytically @@ -111,7 +112,8 @@ class srTZonePlate : public srTFocusingElem { int result = 0; - if(MethNo == 0) result = PropagateRadiationMeth_0(pRadAccessData); + //if(MethNo == 0) result = PropagateRadiationMeth_0(pRadAccessData); + if(MethNo == 0) result = PropagateRadiationMeth_0(pRadAccessData, pvGPU); //HG04122023 //else return PropagateRadiationMeth_2(pRadAccessData, ResBeforeAndAfterVect); else result = PropagateRadiationMeth_2(pRadAccessData, ParPrecWfrPropag, ResBeforeAndAfterVect); @@ -125,11 +127,14 @@ class srTZonePlate : public srTFocusingElem { //int PropagateRadiationSimple(srTSRWRadStructAccessData* pRadAccessData, void* pBuf=0) //OC06092019 //OC01102019 (restored) - int PropagateRadiationSimple(srTSRWRadStructAccessData* pRadAccessData) + //int PropagateRadiationSimple(srTSRWRadStructAccessData* pRadAccessData) + int PropagateRadiationSimple(srTSRWRadStructAccessData* pRadAccessData, void* pvGPU=0) //HG04122023 { int result; - if(pRadAccessData->Pres != 0) if(result = SetRadRepres(pRadAccessData, 0)) return result; - if(result = TraverseRadZXE(pRadAccessData)) return result; + //if(pRadAccessData->Pres != 0) if(result = SetRadRepres(pRadAccessData, 0)) return result; + if(pRadAccessData->Pres != 0) if(result = SetRadRepres(pRadAccessData, 0, 0, 0, pvGPU)) return result; //HG04122023 + //if(result = TraverseRadZXE(pRadAccessData)) return result; + if(result = TraverseRadZXE(pRadAccessData, 0, 0, pvGPU)) return result; //HG04122023 return 0; } int PropagateRadiationSimple1D(srTRadSect1D* pSect1D) diff --git a/cpp/src/core/sroptzps.h b/cpp/src/core/sroptzps.h index 792d02c6..e5409814 100644 --- a/cpp/src/core/sroptzps.h +++ b/cpp/src/core/sroptzps.h @@ -80,7 +80,8 @@ class srTZonePlateSpec : public srTFocusingElem { } //int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, int MethNo, srTRadResizeVect& ResBeforeAndAfterVect) - int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResBeforeAndAfterVect) + //int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResBeforeAndAfterVect) + int PropagateRadiation(srTSRWRadStructAccessData* pRadAccessData, srTParPrecWfrPropag& ParPrecWfrPropag, srTRadResizeVect& ResBeforeAndAfterVect, void* pvGPU=0) //HG04122023 { char &MethNo = ParPrecWfrPropag.MethNo; //if(MethNo == 2) return PropagateRadiationMeth_2(pRadAccessData, ResBeforeAndAfterVect); @@ -90,11 +91,14 @@ class srTZonePlateSpec : public srTFocusingElem { //int PropagateRadiationSimple(srTSRWRadStructAccessData* pRadAccessData, void* pBuf=0) //OC06092019 //OC01102019 (restored) - int PropagateRadiationSimple(srTSRWRadStructAccessData* pRadAccessData) + //int PropagateRadiationSimple(srTSRWRadStructAccessData* pRadAccessData) + int PropagateRadiationSimple(srTSRWRadStructAccessData* pRadAccessData, void* pvGPU=0) //HG04122023 { int result; - if(pRadAccessData->Pres != 0) if(result = SetRadRepres(pRadAccessData, 0)) return result; - return TraverseRadZXE(pRadAccessData); + //if(pRadAccessData->Pres != 0) if(result = SetRadRepres(pRadAccessData, 0)) return result; + if(pRadAccessData->Pres != 0) if(result = SetRadRepres(pRadAccessData, 0, 0, 0, pvGPU)) return result; //HG04122023 + //return TraverseRadZXE(pRadAccessData); + return TraverseRadZXE(pRadAccessData, 0, 0, pvGPU); //HG04122023 } int PropagateRadiationSimple1D(srTRadSect1D* pSect1D) {