/* radius.h */ EXTERN struct t_radiusVar { double /* the inner radius in cm */ rinner, /* the outer radius of the current zone */ Radius, /* the thickness of the current zone */ drad, /* the depth, the distance to the illuminated face */ depth, /* ratio of square of outer edge of current zone to * radius of illuminated face of cloud - note continuum * is relative to outer edge after ZoneDone is called too*/ r1r0sq, /* optional outer radius */ router[ITRDIM]; /* next dr, as set in nextdr */ double drNext; /* save initial dr, and drnext */ double drSave , drnsv; /* sign of dr for going in or out, 1 (usually) or -1 */ double dRadSign; /* dReff is dr * filling factor */ double dReff; /* dVeff is effec vol relative to inner radius */ double dVeff; /* dRNeff is next dr effective radius */ double dRNeff; /* following will be used to "uncorrect" for this in lines when predicting continua * set in StartZone */ double GeoDil; /* dVolOutwrd, dVolReflec, outward and reflected effective vols * used to get outward and reflected beams, * these include only the vol of the current shell times the covering * factor, and a number between 0 and 1 that is the fraction of the beam that goes * out or is reflected. this is determined by the rt covering factor */ double dVolOutwrd; double dVolReflec; /* Beam vars are related to lines where inward and outward fracs known */ /* BeamInIn inward part of inwardly directed beam, 0 if sphere */ double BeamInIn; /* BeamInOut outward part of inwardly directed beam, 0 if not sphere */ double BeamInOut; /* BeamOutOut outward part of outwardly directed beam */ double BeamOutOut; /* flag saying that zone thickness became too small, likely because * of an uncontrolled oscillation */ int lgdR2Small; /* lgCylnOn set true when cylinder command given * cylind is half height in centimeters */ double CylindHigh; int lgCylnOn; /* default inner radius when none set, log r =25 in scalar */ double rdfalt; } radius;