Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages
IsotopeWaveletConstants.h
Go to the documentation of this file.
1 // --------------------------------------------------------------------------
2 // OpenMS -- Open-Source Mass Spectrometry
3 // --------------------------------------------------------------------------
4 // Copyright The OpenMS Team -- Eberhard Karls University Tuebingen,
5 // ETH Zurich, and Freie Universitaet Berlin 2002-2013.
6 //
7 // This software is released under a three-clause BSD license:
8 // * Redistributions of source code must retain the above copyright
9 // notice, this list of conditions and the following disclaimer.
10 // * Redistributions in binary form must reproduce the above copyright
11 // notice, this list of conditions and the following disclaimer in the
12 // documentation and/or other materials provided with the distribution.
13 // * Neither the name of any author or any participating institution
14 // may be used to endorse or promote products derived from this software
15 // without specific prior written permission.
16 // For a full list of authors, refer to the file AUTHORS.
17 // --------------------------------------------------------------------------
18 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 // ARE DISCLAIMED. IN NO EVENT SHALL ANY OF THE AUTHORS OR THE CONTRIBUTING
22 // INSTITUTIONS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
25 // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
26 // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
27 // OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
28 // ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 //
30 // --------------------------------------------------------------------------
31 // $Maintainer: Rene Hussong$
32 // $Authors: Rene Hussong$
33 // --------------------------------------------------------------------------
34 
35 #ifndef OPENMS_TRANSFORMATIONS_FEATUREFINDER_ISOTOPEWAVELETCONSTANTS_H
36 #define OPENMS_TRANSFORMATIONS_FEATUREFINDER_ISOTOPEWAVELETCONSTANTS_H
37 
38 namespace OpenMS
39 {
40  //We cannot define these constants as extern variable because of the cuda interface
41  namespace Constants
42  {
43 #undef OPENMS_DEBUG_ISOTOPE_WAVELET
44 
45  const unsigned int DEFAULT_NUM_OF_INTERPOLATION_POINTS = 3;
46 
47  const double MASS_EPSILON = 1e-4f;
48 
49  const double MARR_WAVELET_CUTOFF = 4.f;
50 
51  const double PEPTIDE_MASS_RULE_FACTOR = 0.000507f;
54 
55  //exact
56  const double IW_NEUTRON_MASS = 1.00866491578f;
57  const double IW_HALF_NEUTRON_MASS = 0.5043325f;
58  const double IW_QUARTER_NEUTRON_MASS = 0.252166228f;
59  const double WAVELET_PERIODICITY = 6.229209734f;
60 
61  //according to Horn et al. (2000)
62  /*const double IW_NEUTRON_MASS = 1.00235f;
63  const double IW_HALF_NEUTRON_MASS = 0.501175f;
64  const double IW_QUARTER_NEUTRON_MASS = 0.2505875f;
65  const double WAVELET_PERIODICITY = 6.268454439f;*/
66 
67 
68  const double ONEOLOG2E = 0.6931471806f;
69 
70  const double IW_PROTON_MASS = 1.00727646688f;
71 
72  //Linear Fit (standard)
73  const double LAMBDA_L_0 = 0.120398590399013419f;
74  const double LAMBDA_L_1 = 0.635926795694698589e-3f;
75 
76  const double CUT_LAMBDA_Q_0_A = 1.9498e+00f;
77  const double CUT_LAMBDA_Q_0_B = 2.4244e-03f;
78  const double CUT_LAMBDA_Q_0_C = -2.4183e-07f;
79  const double CUT_LAMBDA_Q_1_A = 3.6870e+00f;
80  const double CUT_LAMBDA_Q_1_B = 1.1561e-03f;
81  const double CUT_LAMBDA_Q_1_C = -1.0329e-08f;
82  const double CUT_LAMBDA_L_2_A = 5.7661e+00f;
83  const double CUT_LAMBDA_L_2_B = 8.6301e-04f;
84  const double CUT_LAMBDA_BREAK_0_1 = 2739.4f;
85  const double CUT_LAMBDA_BREAK_1_2 = 1.4187e+04f;
86 
87  const int SHIFT23 = (1 << 23);
88  const double SHIFT23_00 = (1.0 / (1 << 23));
89  const double LOG_CONST = 0.346607f;
90  const double POW_CONST = 0.33971f;
91 
92  const int CUDA_INIT_SUCCESS = 1;
93  const int CUDA_INIT_FAIL = -1;
94 
95  const int CUDA_BLOCKS_PER_GRID_MAX = 65535;
96  const int CUDA_BLOCK_SIZE_MAX = 256; //limited due to the shared memory
97  const int CUDA_EXTENDED_BLOCK_SIZE_MAX = 2039;
98  const int CUDA_TEXTURE_THREAD_LIMIT = 384; //limited due to the number of used registers
99 
100  const int CUDA_ELEMENTS_SORT = 512;
102  const int CUDA_SORT_NUM = 0xFFFFFE00;
103  const int CUDA_ELEMENTS_MERGE = 1024;
104  const int CUDA_MERGE_NUM = 0xFFFFFC00;
106  const int CUDA_ELEMENTS_GL = 2;
107  const int CUDA_THREADS_GL = 256;
109 
110  const int TBB_NUM_OF_GPU_DEVICES = 2;
111 
112 #define CUDA_CHECK_ERROR
113  }
114 }
115 
116 #endif
const int CUDA_INIT_SUCCESS
Definition: IsotopeWaveletConstants.h:92
const double CUT_LAMBDA_Q_0_A
Definition: IsotopeWaveletConstants.h:76
const double LAMBDA_L_1
Definition: IsotopeWaveletConstants.h:74
const double ONEOLOG2E
Definition: IsotopeWaveletConstants.h:68
const int CUDA_ELEMENTS_MERGE
Definition: IsotopeWaveletConstants.h:103
const double IW_PROTON_MASS
Definition: IsotopeWaveletConstants.h:70
const double CUT_LAMBDA_L_2_B
Definition: IsotopeWaveletConstants.h:83
const double MASS_EPSILON
Definition: IsotopeWaveletConstants.h:47
const int CUDA_SORT_NUM
Definition: IsotopeWaveletConstants.h:102
const double MARR_WAVELET_CUTOFF
Definition: IsotopeWaveletConstants.h:49
const int TBB_NUM_OF_GPU_DEVICES
Definition: IsotopeWaveletConstants.h:110
const int CUDA_MIN_SORT_SIZE
Definition: IsotopeWaveletConstants.h:108
const double CUT_LAMBDA_BREAK_1_2
Definition: IsotopeWaveletConstants.h:85
const int CUDA_THREADS_GL
Definition: IsotopeWaveletConstants.h:107
const int CUDA_THREADS_MERGE
Definition: IsotopeWaveletConstants.h:105
const int CUDA_BLOCKS_PER_GRID_MAX
Definition: IsotopeWaveletConstants.h:95
const double POW_CONST
Definition: IsotopeWaveletConstants.h:90
const int SHIFT23
Definition: IsotopeWaveletConstants.h:87
const double CUT_LAMBDA_BREAK_0_1
Definition: IsotopeWaveletConstants.h:84
const int CUDA_MERGE_NUM
Definition: IsotopeWaveletConstants.h:104
const int CUDA_THREADS_SORT
Definition: IsotopeWaveletConstants.h:101
const int CUDA_INIT_FAIL
Definition: IsotopeWaveletConstants.h:93
const double CUT_LAMBDA_Q_1_C
Definition: IsotopeWaveletConstants.h:81
const double LAMBDA_L_0
Definition: IsotopeWaveletConstants.h:73
const double SHIFT23_00
Definition: IsotopeWaveletConstants.h:88
const double CUT_LAMBDA_Q_1_A
Definition: IsotopeWaveletConstants.h:79
const double IW_NEUTRON_MASS
Definition: IsotopeWaveletConstants.h:56
const double CUT_LAMBDA_L_2_A
Definition: IsotopeWaveletConstants.h:82
const double CUT_LAMBDA_Q_0_B
Definition: IsotopeWaveletConstants.h:77
const double PEPTIDE_MASS_RULE_BOUND
Definition: IsotopeWaveletConstants.h:52
const double CUT_LAMBDA_Q_0_C
Definition: IsotopeWaveletConstants.h:78
const int CUDA_EXTENDED_BLOCK_SIZE_MAX
Definition: IsotopeWaveletConstants.h:97
const int CUDA_BLOCK_SIZE_MAX
Definition: IsotopeWaveletConstants.h:96
const double WAVELET_PERIODICITY
Definition: IsotopeWaveletConstants.h:59
const int CUDA_ELEMENTS_SORT
Definition: IsotopeWaveletConstants.h:100
const double IW_HALF_NEUTRON_MASS
Definition: IsotopeWaveletConstants.h:57
const double PEPTIDE_MASS_RULE_FACTOR
Definition: IsotopeWaveletConstants.h:51
const int CUDA_ELEMENTS_GL
Definition: IsotopeWaveletConstants.h:106
const int CUDA_TEXTURE_THREAD_LIMIT
Definition: IsotopeWaveletConstants.h:98
const double IW_QUARTER_NEUTRON_MASS
Definition: IsotopeWaveletConstants.h:58
const unsigned int DEFAULT_NUM_OF_INTERPOLATION_POINTS
Definition: IsotopeWaveletConstants.h:45
const double LOG_CONST
Definition: IsotopeWaveletConstants.h:89
const double CUT_LAMBDA_Q_1_B
Definition: IsotopeWaveletConstants.h:80
const double PEPTIDE_MASS_RULE_THEO_PPM_BOUND
Definition: IsotopeWaveletConstants.h:53

OpenMS / TOPP release 1.11.1 Documentation generated on Thu Nov 14 2013 11:19:15 using doxygen 1.8.5