diff --git a/pyfstat/core.py b/pyfstat/core.py index 0ff84cb52f6274165df116225006021a7bc0b711..a67c3d09144d30e9d3442cac3f8d2c56b16528ba 100755 --- a/pyfstat/core.py +++ b/pyfstat/core.py @@ -119,7 +119,10 @@ def _get_dictionary_from_lines(lines, comments, raise_error): try: key, val = line.rstrip('\n').split('=') key = key.strip() - d[key] = np.float64(eval(val.rstrip('; '))) + try: + d[key] = np.float64(eval(val.rstrip('; '))) + except NameError: + d[key] = val.rstrip('; ') except SyntaxError: if raise_error: raise IOError('Line {} not understood'.format(line)) @@ -405,7 +408,7 @@ class ComputeFstat(BaseSearchClass): constraints = lalpulsar.SFTConstraints() if self.detectors: if ',' in self.detectors: - logging.info('Using all detector data') + constraints.detector = self.detectors else: constraints.detector = self.detectors if self.minStartTime: @@ -493,7 +496,12 @@ class ComputeFstat(BaseSearchClass): PP.Amp.psi = self.injectSources['psi'] PP.Doppler.Alpha = self.injectSources['Alpha'] PP.Doppler.Delta = self.injectSources['Delta'] - PP.Doppler.fkdot = np.array(self.injectSources['fkdot']) + if 'fkdot' in self.injectSources: + PP.Doppler.fkdot = np.array(self.injectSources['fkdot']) + else: + PP.Doppler.fkdot = np.zeros(lalpulsar.PULSAR_MAX_SPINS) + for i, key in enumerate(['F0', 'F1', 'F2']): + PP.Doppler.fkdot[i] = self.injectSources[key] PP.Doppler.refTime = self.tref if 't0' not in self.injectSources: PP.Transient.type = lalpulsar.TRANSIENT_NONE