This will simply require the RelaxNoneNumError.  Examples with this
check should be easy to find in 'prompt/'.

Regards,

Edward


On Thu, Jan 8, 2009 at 9:06 PM, Sébastien Morin
<[email protected]> wrote:
> Fine with cpmg_frq=None (to specify the reference spectra)...
>
> Would this imply accepting another type than float or integer for
> cpmg_frq ? Is None a string ? If so, should I add a  relax error such as
> RelaxIntFloatStrError ?
>
> Thanks.
>
>
> Séb
>
>
> Edward d'Auvergne wrote:
>> Oh, I would prefer None to 0 as a zero frequency would imply an
>> infinitely long pulse train ;)
>>
>> Regards,
>>
>> Edward
>>
>>
>> On Thu, Jan 8, 2009 at 8:46 PM, Edward d'Auvergne <[email protected]> 
>> wrote:
>>
>>> Sounds like the perfect solution!
>>>
>>>
>>> On Thu, Jan 8, 2009 at 8:42 PM, Sébastien Morin
>>> <[email protected]> wrote:
>>>
>>>> Hi Ed,
>>>>
>>>> You are right, and I am partially wrong...
>>>>
>>>> delayT is 0 for reference spectra (where the CPMG block is absent).
>>>> However, it can be of different values for the CPMG spectra...
>>>>
>>>> What is best ? Define the reference spectra with cpmg_delayT() or with
>>>> cpmg_frq() ? I would propose cpmg_frq() , with a value of 0, 'ref', or
>>>> None, as this could allow us to give a single delayT value for a
>>>> complete dataset and, then, a variable cpmg_frq value for the different
>>>> spectra...
>>>>
>>>> What do you think ?
>>>>
>>>>
>>>> Séb  :)
>>>>
>>>>
>>>>
>>>> Edward d'Auvergne wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I thought delayT was set to zero seconds in the reference spectrum?
>>>>> Anyway, your arguments are convincing.  Maybe if the spectrum_id is
>>>>> set to None, then all spectrum can be set with that one value?  What
>>>>> do you think?
>>>>>
>>>>> Regards,
>>>>>
>>>>> Edward
>>>>>
>>>>>
>>>>> On Thu, Jan 8, 2009 at 6:05 PM, Sébastien Morin
>>>>> <[email protected]> wrote:
>>>>>
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> delayT could vary depending with the magnetic field. It could even vary
>>>>>> among one magnetic field...
>>>>>>
>>>>>> In fact, the same delayT must be used for at least a reference spectrum
>>>>>> and a spectrum with CPMG... From this, a R2eff is calculated. Normally,
>>>>>> users will use the same delayT for all the dispersion curve at one
>>>>>> field, since this will allow only one reference spectrum to be
>>>>>> recorded... The same delayT can be used at another field strength,
>>>>>> however a different one can be used also, for a better S/N or for
>>>>>> probing differently the dispersion profile...
>>>>>>
>>>>>> Hence, I would think that delayT should be associated with one dataset,
>>>>>> in the same way as the frequency, when set using frq.set...
>>>>>>
>>>>>> Does that sound logical ?
>>>>>>
>>>>>> Regards,
>>>>>>
>>>>>>
>>>>>> Séb  :)
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Edward d'Auvergne wrote:
>>>>>>
>>>>>>
>>>>>>> Seb,
>>>>>>>
>>>>>>> Do we need to associate delayT with different spectra?  Is it not the
>>>>>>> same for all spectra from all field strengths?
>>>>>>>
>>>>>>> Regards,
>>>>>>>
>>>>>>> Edward
>>>>>>>
>>>>>>>
>>>>>>> On Thu, Jan 8, 2009 at 5:48 PM,  <[email protected]> wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> Author: semor
>>>>>>>> Date: Thu Jan  8 17:48:13 2009
>>>>>>>> New Revision: 8339
>>>>>>>>
>>>>>>>> URL: http://svn.gna.org/viewcvs/relax?rev=8339&view=rev
>>>>>>>> Log:
>>>>>>>> Added the user function cpmg_delayT() which allows setting the CPMG 
>>>>>>>> constant time delay T used for
>>>>>>>> the analysed dataset.
>>>>>>>>
>>>>>>>> This follows a post at:
>>>>>>>> https://mail.gna.org/public/relax-devel/2009-01/msg00027.html
>>>>>>>> (Message-id: <[email protected]>)
>>>>>>>>
>>>>>>>>
>>>>>>>> Modified:
>>>>>>>>    branches/relax_disp/prompt/relax_disp.py
>>>>>>>>    branches/relax_disp/specific_fns/relax_disp.py
>>>>>>>>    
>>>>>>>> branches/relax_disp/test_suite/system_tests/scripts/relax_disp_cpmg_fast.py
>>>>>>>>
>>>>>>>> Modified: branches/relax_disp/prompt/relax_disp.py
>>>>>>>> URL: 
>>>>>>>> http://svn.gna.org/viewcvs/relax/branches/relax_disp/prompt/relax_disp.py?rev=8339&r1=8338&r2=8339&view=diff
>>>>>>>> ==============================================================================
>>>>>>>> --- branches/relax_disp/prompt/relax_disp.py (original)
>>>>>>>> +++ branches/relax_disp/prompt/relax_disp.py Thu Jan  8 17:48:13 2009
>>>>>>>> @@ -45,6 +45,42 @@
>>>>>>>>
>>>>>>>>         # Place relax in the class namespace.
>>>>>>>>         self.__relax__ = relax
>>>>>>>> +
>>>>>>>> +
>>>>>>>> +    def cpmg_delayT(self, id=None, delayT=None):
>>>>>>>> +        """Set the CPMG constant time delay (T) of the experiment.
>>>>>>>> +
>>>>>>>> +        Keyword arguments
>>>>>>>> +        ~~~~~~~~~~~~~~~~~
>>>>>>>> +
>>>>>>>> +        id:  The experiment identification string.
>>>>>>>> +
>>>>>>>> +        delayT:   The CPMG constant time delay (T) in s.
>>>>>>>> +
>>>>>>>> +
>>>>>>>> +        Description
>>>>>>>> +        ~~~~~~~~~~~
>>>>>>>> +
>>>>>>>> +        This user function allows the CPMG constant time delay (T) of 
>>>>>>>> a given experiment to be set.
>>>>>>>> +        """
>>>>>>>> +
>>>>>>>> +        # Function intro text.
>>>>>>>> +        if self.__relax__.interpreter.intro:
>>>>>>>> +            text = sys.ps3 + "delayT("
>>>>>>>> +            text = text + "id=" + `id`
>>>>>>>> +            text = text + ", delayT=" + `delayT` + ")"
>>>>>>>> +            print text
>>>>>>>> +
>>>>>>>> +        # Id string.
>>>>>>>> +        if type(id) != str:
>>>>>>>> +            raise RelaxStrError, ('experiment identification string', 
>>>>>>>> id)
>>>>>>>> +
>>>>>>>> +        # The CPMG constant time delay (T).
>>>>>>>> +        if type(delayT) != float and type(delayT) != int:
>>>>>>>> +            raise RelaxNumError, ('CPMG constant time delay (T)', 
>>>>>>>> delayT)
>>>>>>>> +
>>>>>>>> +        # Execute the functional code.
>>>>>>>> +        specific_fns.relax_disp.cpmg_delayT(id=id, delayT=delayT)
>>>>>>>>
>>>>>>>>
>>>>>>>>     def exp_type(self, exp='cpmg'):
>>>>>>>>
>>>>>>>> Modified: branches/relax_disp/specific_fns/relax_disp.py
>>>>>>>> URL: 
>>>>>>>> http://svn.gna.org/viewcvs/relax/branches/relax_disp/specific_fns/relax_disp.py?rev=8339&r1=8338&r2=8339&view=diff
>>>>>>>> ==============================================================================
>>>>>>>> --- branches/relax_disp/specific_fns/relax_disp.py (original)
>>>>>>>> +++ branches/relax_disp/specific_fns/relax_disp.py Thu Jan  8 17:48:13 
>>>>>>>> 2009
>>>>>>>> @@ -205,6 +205,41 @@
>>>>>>>>
>>>>>>>>         # Add the frequency at the correct position.
>>>>>>>>         cdp.cpmg_frqs[index] = frq
>>>>>>>> +
>>>>>>>> +
>>>>>>>> +    def cpmg_delayT(id=None, delayT=None):
>>>>>>>> +        """Set the CPMG constant time delay (T) of the experiment.
>>>>>>>> +
>>>>>>>> +        @keyword id:       The experimental identification string 
>>>>>>>> (allowing for multiple experiments
>>>>>>>> +                           per data pipe).
>>>>>>>> +        @type id:          str
>>>>>>>> +        @keyword delayT:   The CPMG constant time delay (T) in s.
>>>>>>>> +        @type delayT:      float
>>>>>>>> +        """
>>>>>>>> +
>>>>>>>> +        # Function intro text.
>>>>>>>> +        if self.__relax__.interpreter.intro:
>>>>>>>> +            text = sys.ps3 + "delayT("
>>>>>>>> +            text = text + "id=" + `id`
>>>>>>>> +            text = text + ", delayT=" + `delayT` + ")"
>>>>>>>> +            print text
>>>>>>>> +
>>>>>>>> +        # Test if the current data pipe exists.
>>>>>>>> +        pipes.test()
>>>>>>>> +
>>>>>>>> +        # Alias the current data pipe.
>>>>>>>> +        cdp = pipes.get_pipe()
>>>>>>>> +
>>>>>>>> +        # Set up the dictionnary data structure if it doesn't exist 
>>>>>>>> yet.
>>>>>>>> +        if not hasattr(cdp, 'delayT'):
>>>>>>>> +            cdp.delayT = {}
>>>>>>>> +
>>>>>>>> +        # Test the CPMG constant time delay (T) has not already been 
>>>>>>>> set.
>>>>>>>> +        if cdp.delayT.has_key(id):
>>>>>>>> +           raise RelaxError, "The CPMG constant time delay (T) for 
>>>>>>>> the experiment " + `id` + " has already been set."
>>>>>>>> +
>>>>>>>> +        # Set the CPMG constant time delay (T).
>>>>>>>> +        cdp.delayT[id] = delayT
>>>>>>>>
>>>>>>>>
>>>>>>>>     def create_mc_data(self, spin_id):
>>>>>>>>
>>>>>>>> Modified: 
>>>>>>>> branches/relax_disp/test_suite/system_tests/scripts/relax_disp_cpmg_fast.py
>>>>>>>> URL: 
>>>>>>>> http://svn.gna.org/viewcvs/relax/branches/relax_disp/test_suite/system_tests/scripts/relax_disp_cpmg_fast.py?rev=8339&r1=8338&r2=8339&view=diff
>>>>>>>> ==============================================================================
>>>>>>>> --- 
>>>>>>>> branches/relax_disp/test_suite/system_tests/scripts/relax_disp_cpmg_fast.py
>>>>>>>>  (original)
>>>>>>>> +++ 
>>>>>>>> branches/relax_disp/test_suite/system_tests/scripts/relax_disp_cpmg_fast.py
>>>>>>>>  Thu Jan  8 17:48:13 2009
>>>>>>>> @@ -22,6 +22,9 @@
>>>>>>>>
>>>>>>>>  # Relaxation dispersion magnetic field (in Hz).
>>>>>>>>  frq.set(id='600', frq=600.0 * 1e6)
>>>>>>>> +
>>>>>>>> +# Relaxation dispersion CPMG constant time delay T (in s).
>>>>>>>> +cpmg_delayT(id='600', delayT=0.020)
>>>>>>>>
>>>>>>>>  # Relaxation dispersion CPMG frequencies (in Hz).
>>>>>>>>  cpmg_frq = [
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> relax (http://nmr-relax.com)
>>>>>>>>
>>>>>>>> This is the relax-commits mailing list
>>>>>>>> [email protected]
>>>>>>>>
>>>>>>>> To unsubscribe from this list, get a password
>>>>>>>> reminder, or change your subscription options,
>>>>>>>> visit the list information page at
>>>>>>>> https://mail.gna.org/listinfo/relax-commits
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> relax (http://nmr-relax.com)
>>>>>>>
>>>>>>> This is the relax-devel mailing list
>>>>>>> [email protected]
>>>>>>>
>>>>>>> To unsubscribe from this list, get a password
>>>>>>> reminder, or change your subscription options,
>>>>>>> visit the list information page at
>>>>>>> https://mail.gna.org/listinfo/relax-devel
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>> _______________________________________________
>>>>>> relax (http://nmr-relax.com)
>>>>>>
>>>>>> This is the relax-devel mailing list
>>>>>> [email protected]
>>>>>>
>>>>>> To unsubscribe from this list, get a password
>>>>>> reminder, or change your subscription options,
>>>>>> visit the list information page at
>>>>>> https://mail.gna.org/listinfo/relax-devel
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>
>>
>>
>
>

_______________________________________________
relax (http://nmr-relax.com)

This is the relax-devel mailing list
[email protected]

To unsubscribe from this list, get a password
reminder, or change your subscription options,
visit the list information page at
https://mail.gna.org/listinfo/relax-devel

Reply via email to