@@ -143,15 +143,43 @@ def calculate_gr(
143
143
pdf_filter = True
144
144
if pdf_filter != 'lorch' :
145
145
print (
146
- '[WARNING] PDF filter {0} is not supported.' .format (pdf_filter ))
146
+ '[WARNING] PDF filter {0} is not supported.' .format (pdf_filter )
147
+ )
147
148
148
149
q_pystog = simpleapi .mtd [sq_ws_name ].readX (0 )
149
150
sq_pystog = simpleapi .mtd [sq_ws_name ].readY (0 )
150
151
if len (sq_pystog ) != len (q_pystog ):
151
152
sq_pystog = np .insert (sq_pystog , 0 , sq_pystog [0 ])
153
+ q_pystog_f = list ()
154
+ sq_pystog_f = list ()
155
+ for qi , qv in enumerate (q_pystog ):
156
+ if min_q <= qv <= max_q :
157
+ q_pystog_f .append (qv )
158
+ sq_pystog_f .append (sq_pystog [qi ])
159
+ q_pystog_f = np .array (q_pystog_f )
160
+ sq_pystog_f = np .array (sq_pystog_f )
152
161
transformer = Transformer ()
153
162
r_pystog = np .arange (0 , max_r + delta_r , delta_r )
154
- r_pystog , gr_pystog , _ = transformer .S_to_G (q_pystog , sq_pystog , r_pystog )
163
+ r_pystog , gr_pystog , _ = transformer .S_to_G (
164
+ q_pystog_f ,
165
+ sq_pystog_f ,
166
+ r_pystog
167
+ )
168
+
169
+ if pdf_type == "G(r)" :
170
+ pass
171
+ else :
172
+ if rho0 is None :
173
+ warn_msg = "[Warning] No number density provided. "
174
+ warn_msg += "A dummy value of 1.0 will be used "
175
+ warn_msg += "for the conversion."
176
+ print (warn_msg )
177
+ rho0 = 1.
178
+
179
+ gr_pystog = gr_pystog / (4. * np .pi * rho0 * r_pystog ) + 1.
180
+
181
+ if pdf_type == "RDF(r)" :
182
+ gr_pystog = 4. * np .pi * rho0 * r_pystog ** 2. * gr_pystog
155
183
156
184
gr_ws_name = '%s(R)_%s_%d' % (prefix , self ._currSqWsName , ws_seq_index )
157
185
simpleapi .CreateWorkspace (
0 commit comments