예제 #1
0
def WDSCrystal(xrt, n=1, R=RolandCircleRadius):
    """Synatx: WDSCrystal(xrt,n=1,[R=RolandCircleRadius])
    Prints a list of the WDS crystals alternatives along with 
    the associated L-value.  (Note: xrt may be an element or 
    an XRayTransitionSet (see getTransitionSet(...))"""
    xrts = []
    if isinstance(xrt, epq.XRayTransition):
        xrts = xrts + [xrt]
    elif isinstance(xrt, str) or isinstance(xrt, epq.Element):
        elm = dtsa2.element(xrt)
        for tr in [epq.XRayTransition.KA1, epq.XRayTransition.LA1, epq.XRayTransition.MA1]:
            if epq.XRayTransition.exists(elm, tr):
                xrts = xrts + [epq.XRayTransition(elm, tr)]
    elif isinstance(xrt, epq.XRayTransitionSet):
        xrts = xrt.getTransitions()          
    else:
        print "Invalid argument: %s" % xrt
        return
    zippo = True
    for cry, twoD in TwoDSpacing.iteritems():
        for tr in xrts:
            L = WDS_L(cry, tr, n, R)
            if (L > 60) and (L < 260):
                if zippo:
                    print "Crystal\tLine\tL Value"
                    zippo = False
                print "%s\t%s\t%3.6g" % (cry, tr, L)
    if zippo:
        print "None"
예제 #2
0
simDir = homDir + relPrj + "/dat/simDir"
csvDir = homDir + relPrj + "/dat/csv"
jmg.ensureDir(simDir)
jmg.ensureDir(csvDir)
# wd = homDir + relPrj + "/py/dtsa"
wd = homDir + relPrj + "/py/dtsa"
os.chdir(wd)
pyrDir = wd + "/simPdLineInCuMatrix Results"

#start clean
DataManager.clearSpectrumList()


# xrts=mc3.suggestTransitions("PdCu")

xrts = [epq.XRayTransition(epq.Element.Cu, epq.XRayTransition.LA1), epq.XRayTransition(epq.Element.Pd, epq.XRayTransition.LA1)]

xtraParams={}
xtraParams.update(mc3.configureXRayAccumulators(xrts, charAccum=charF, charFluorAccum=charF, bremFluorAccum=bremF))
xtraParams.update(mc3.configureOutput(simDir))
xtraParams.update(mc3.configureBeam(0.5*nmLinWid*1.0e-9, 0, -0.099, 1.0))
# xtraParams.update(mc3.configureGun(gun))
# mc3.useHeatMapPalette()

print(xtraParams)

# spc = jm3.lineInMatrix(lin, blk, nmLinWid, umBlock, det, e0, withPoisson=True, nTraj=nTraj, dose=dose, sf=charF, bf=bremF, xtraParams=xtraParams)
# spc = jm3.lineInMatrix(lin, blk, nmLinWid, umBlock, det, e0, poisN, nTraj, dose, charF, bremF, xtraParams)
#e0=20.0, dose=defaultDose, withPoisson=poisN, nTraj=defaultNumTraj, sf=defaultCharFluor, bf=defaultBremFluor, xtraParams=defaultXtraParams):
# spc = mc3.simulate(blk, det, e0, dose, poisN, nTraj, charF, bremF, xtraParams)
#