File indexing completed on 2025-01-30 10:30:21
0001
0002
0003
0004 #include "ParticleSvc.h"
0005
0006
0007 DECLARE_COMPONENT(ParticleSvc)
0008
0009 namespace {
0010 const IParticleSvc::ParticleMap kParticleMap = {
0011 { 0, { 0, 0, 0.0 }},
0012 { 11, { 11, -1, 0.000510998928 }},
0013 { -11, { -11, 1, 0.000510998928 }},
0014 { 13, { 13, -1, 0.105658357 }},
0015 { -13, { -13, 1, 0.105658357 }},
0016 { 22, { 22, 0, 0.0 }},
0017 { 111, { 111, 0, 0.1349766 }},
0018 { 113, { 111, 0, 0.76850 }},
0019 { 115, { 115, 0, 1.31800 }},
0020 { 211, { 211, 1, 0.1395701 }},
0021 { -211, { -211, -1, 0.1395701 }},
0022 { 213, { 213, 1, 0.76690 }},
0023 { -213, { -213, -1, 0.76690 }},
0024 { 215, { 215, 1, 1.31800 }},
0025 { -215, { -215, -1, 1.31800 }},
0026 { 221, { 221, 0, 0.54745 }},
0027 { 223, { 223, 0, 0.78194 }},
0028 { 225, { 225, 0, 1.27500 }},
0029 { 130, { 130, 0, 0.49767 }},
0030 { 310, { 310, 0, 0.49767 }},
0031 { 311, { 311, 0, 0.49767 }},
0032 { -311, { -311, 0, 0.49767 }},
0033 { 313, { 313, 0, 0.89610 }},
0034 { -313, { -313, 0, 0.89610 }},
0035 { 315, { 315, 0, 1.43200 }},
0036 { -315, { -315, 0, 1.43200 }},
0037 { 321, { 321, 1, 0.49360 }},
0038 { -321, { -321, -1, 0.49360 }},
0039 { 323, { 323, 1, 0.89160 }},
0040 { -323, { -323, -1, 0.89160 }},
0041 { 325, { 325, 1, 1.42500 }},
0042 { -325, { -325, -1, 1.42500 }},
0043 { 331, { 331, 0, 0.95777 }},
0044 { 333, { 333, 0, 1.01940 }},
0045 { 335, { 335, 0, 1.52500 }},
0046 { 411, { 411, 1, 1.86930 }},
0047 { -411, { 411, -1, 1.86930 }},
0048 { 413, { 413, 1, 2.01000 }},
0049 { -413, { -413, -1, 2.01000 }},
0050 { 415, { 415, 1, 2.46000 }},
0051 { -415, { -415, -1, 2.46000 }},
0052 { 421, { 421, 0, 1.86450 }},
0053 { -421, { -421, 0, 1.86450 }},
0054 { 423, { 423, 0, 2.00670 }},
0055 { -423, { -423, 0, 2.00670 }},
0056 { 425, { 425, 0, 2.46000 }},
0057 { -425, { -425, 0, 2.46000 }},
0058 { 431, { 431, 1, 1.96850 }},
0059 { -431, { -431, -1, 1.96850 }},
0060 { 433, { 433, 1, 2.11240 }},
0061 { -433, { -433, -1, 2.11240 }},
0062 { 435, { 435, 1, 2.57350 }},
0063 { -435, { -435, -1, 2.57350 }},
0064 { 441, { 441, 0, 2.97980 }},
0065 { 443, { 443, 0, 3.09688 }},
0066 { 445, { 445, 0, 3.55620 }},
0067 { 511, { 511, 0, 5.27920 }},
0068 { -511, { -511, 0, 5.27920 }},
0069 { 513, { 513, 0, 5.32480 }},
0070 { -513, { -513, 0, 5.32480 }},
0071 { 515, { 515, 0, 5.83000 }},
0072 { -515, { -515, 0, 5.83000 }},
0073 { 521, { 521, 1, 5.27890 }},
0074 { -521, { -521, -1, 5.27890 }},
0075 { 523, { 523, 1, 5.32480 }},
0076 { -523, { -523, -1, 5.32480 }},
0077 { 525, { 525, 1, 5.83000 }},
0078 { -525, { -525, -1, 5.83000 }},
0079 { 531, { 531, 0, 5.36930 }},
0080 { -531, { -531, 0, 5.36930 }},
0081 { 533, { 533, 0, 5.41630 }},
0082 { -533, { -533, 0, 5.41630 }},
0083 { 535, { 535, 0, 6.07000 }},
0084 { -535, { -535, 0, 6.07000 }},
0085 { 541, { 541, 1, 6.59400 }},
0086 { -541, { -541, -1, 6.59400 }},
0087 { 543, { 543, 1, 6.60200 }},
0088 { -543, { -543, -1, 6.60200 }},
0089 { 545, { 545, 1, 7.35000 }},
0090 { -545, { -545, -1, 7.35000 }},
0091 { 551, { 551, 0, 9.40000 }},
0092 { 553, { 553, 0, 9.46030 }},
0093 { 555, { 555, 0, 9.91320 }},
0094 { 990, { 990, 0, 0.00000 }},
0095 { 1114, { 1114, -1, 1.23400 }},
0096 { -1114, { -1114, 1, 1.23400 }},
0097 { 2112, { 2112, 0, 0.93957 }},
0098 { -2112, { -2112, 0, 0.93957 }},
0099 { 2114, { 2114, 0, 1.23300 }},
0100 { -2114, { -2114, 0, 1.23300 }},
0101 { 2212, { 2212, 1, 0.93827 }},
0102 { -2212, { -2212, -1, 0.93827 }},
0103 { 2214, { 2214, 1, 1.23200 }},
0104 { -2214, { -2214, -1, 1.23200 }},
0105 { 2224, { 2224, 2, 1.23100 }},
0106 { -2224, { -2224, -2, 1.23100 }},
0107 { 3112, { 3112, -1, 1.19744 }},
0108 { -3112, { -3112, 1, 1.19744 }},
0109 { 3114, { 3114, -1, 1.38720 }},
0110 { -3114, { -3114, 1, 1.38720 }},
0111 { 3122, { 3122, 0, 1.11568 }},
0112 { -3122, { -3122, 0, 1.11568 }},
0113 { 3212, { 3212, 0, 1.19255 }},
0114 { -3212, { -3212, 0, 1.19255 }},
0115 { 3214, { 3214, 0, 1.38370 }},
0116 { -3214, { -3214, 0, 1.38370 }},
0117 { 3222, { 3222, 1, 1.18937 }},
0118 { -3222, { -3222, -1, 1.18937 }},
0119 { 3224, { 3224, 1, 1.38280 }},
0120 { -3224, { -3224, -1, 1.38280 }},
0121 { 3312, { 3312, -1, 1.32130 }},
0122 { -3312, { -3312, 1, 1.32130 }},
0123 { 3314, { 3314, -1, 1.53500 }},
0124 { -3314, { -3314, 1, 1.53500 }},
0125 { 3322, { 3322, 0, 1.31490 }},
0126 { -3322, { -3322, 0, 1.31490 }},
0127 { 3324, { 3324, 0, 1.53180 }},
0128 { -3324, { -3324, 0, 1.53180 }},
0129 { 3334, { 3334, -1, 1.67245 }},
0130 { -3334, { -3334, 1, 1.67245 }},
0131 { 4112, { 4112, 0, 2.45210 }},
0132 { -4112, { -4112, 0, 2.45210 }},
0133 { 4114, { 4114, 0, 2.50000 }},
0134 { -4114, { -4114, 0, 2.50000 }},
0135 { 4122, { 4122, 1, 2.28490 }},
0136 { -4122, { -4122, -1, 2.28490 }},
0137 { 4132, { 4132, 0, 2.47030 }},
0138 { -4132, { -4132, 0, 2.47030 }},
0139 { 4212, { 4212, 1, 2.45350 }},
0140 { -4212, { -4212, -1, 2.45350 }},
0141 { 4214, { 4214, 1, 2.50000 }},
0142 { -4214, { -4214, -1, 2.50000 }},
0143 { 4222, { 4222, 2, 2.45290 }},
0144 { -4222, { -4222, -2, 2.45290 }},
0145 { 4224, { 4224, 2, 2.50000 }},
0146 { -4224, { -4224, -2, 2.50000 }},
0147 { 4232, { 4232, 1, 2.46560 }},
0148 { -4232, { -4232, -1, 2.46560 }},
0149 { 4312, { 4312, 0, 2.55000 }},
0150 { -4312, { -4312, 0, 2.55000 }},
0151 { 4314, { 4314, 0, 2.63000 }},
0152 { -4314, { -4314, 0, 2.63000 }},
0153 { 4322, { 4322, 1, 2.55000 }},
0154 { -4322, { -4322, -1, 2.55000 }},
0155 { 4324, { 4324, 1, 2.63000 }},
0156 { -4324, { -4324, -1, 2.63000 }},
0157 { 4332, { 4332, 0, 2.70400 }},
0158 { -4332, { -4332, 0, 2.70400 }},
0159 { 4334, { 4334, 0, 2.80000 }},
0160 { -4334, { -4334, 0, 2.80000 }},
0161 { 4412, { 4412, 1, 3.59798 }},
0162 { -4412, { -4412, -1, 3.59798 }},
0163 { 4414, { 4414, 1, 3.65648 }},
0164 { -4414, { -4414, -1, 3.65648 }},
0165 { 4422, { 4422, 2, 3.59798 }},
0166 { -4422, { -4422, -2, 3.59798 }},
0167 { 4424, { 4424, 2, 3.65648 }},
0168 { -4424, { -4424, -2, 3.65648 }},
0169 { 4432, { 4432, 1, 3.78663 }},
0170 { -4432, { -4432, -1, 3.78663 }},
0171 { 4434, { 4434, 1, 3.82466 }},
0172 { -4434, { -4434, -1, 3.82466 }},
0173 { 4444, { 4444, 2, 4.91594 }},
0174 { -4444, { -4444, -2, 4.91594 }},
0175 { 5112, { 5112, -1, 5.80000 }},
0176 { -5112, { -5112, 1, 5.80000 }},
0177 { 5114, { 5114, -1, 5.81000 }},
0178 { -5114, { -5114, 1, 5.81000 }},
0179 { 5122, { 5122, 0, 5.64100 }},
0180 { -5122, { -5122, 0, 5.64100 }},
0181 { 5132, { 5132, -1, 5.84000 }},
0182 { -5132, { -5132, 1, 5.84000 }},
0183 { 5142, { 5142, 0, 7.00575 }},
0184 { -5142, { -5142, 0, 7.00575 }},
0185 { 5212, { 5212, 0, 5.80000 }},
0186 { -5212, { -5212, 0, 5.80000 }},
0187 { 5214, { 5214, 0, 5.81000 }},
0188 { -5214, { -5214, 0, 5.81000 }},
0189 { 5222, { 5222, 1, 5.80000 }},
0190 { -5222, { -5222, -1, 5.80000 }},
0191 { 5224, { 5224, 1, 5.81000 }},
0192 { -5224, { -5224, -1, 5.81000 }},
0193 { 5232, { 5232, 0, 5.84000 }},
0194 { -5232, { -5232, 0, 5.84000 }},
0195 { 5242, { 5242, 1, 7.00575 }},
0196 { -5242, { -5242, -1, 7.00575 }},
0197 { 5312, { 5312, -1, 5.96000 }},
0198 { -5312, { -5312, 1, 5.96000 }},
0199 { 5314, { 5314, -1, 5.97000 }},
0200 { -5314, { -5314, 1, 5.97000 }},
0201 { 5322, { 5322, 0, 5.96000 }},
0202 { -5322, { -5322, 0, 5.96000 }},
0203 { 5324, { 5324, 0, 5.97000 }},
0204 { -5324, { -5324, 0, 5.97000 }},
0205 { 5332, { 5332, -1, 6.12000 }},
0206 { -5332, { -5332, 1, 6.12000 }},
0207 { 5334, { 5334, -1, 6.13000 }},
0208 { -5334, { -5334, 1, 6.13000 }},
0209 { 5342, { 5342, 0, 7.19099 }},
0210 { -5342, { -5342, 0, 7.19099 }},
0211 { 5412, { 5412, 0, 7.03724 }},
0212 { -5412, { -5412, 0, 7.03724 }},
0213 { 5414, { 5414, 0, 7.04850 }},
0214 { -5414, { -5414, 0, 7.04850 }},
0215 { 5422, { 5422, 1, 7.03724 }},
0216 { -5422, { -5422, -1, 7.03724 }},
0217 { 5424, { 5424, 1, 7.04850 }},
0218 { -5424, { -5424, -1, 7.04850 }},
0219 { 5432, { 5432, 0, 7.21101 }},
0220 { -5432, { -5432, 0, 7.21101 }},
0221 { 5434, { 5434, 0, 7.21900 }},
0222 { -5434, { -5434, 0, 7.21900 }},
0223 { 5442, { 5442, 1, 8.30945 }},
0224 { -5442, { -5442, -1, 8.30945 }},
0225 { 5444, { 5444, 1, 8.31325 }},
0226 { -5444, { -5444, -1, 8.31325 }},
0227 { 5512, { 5512, -1, 10.42272 }},
0228 { -5512, { -5512, 1, 10.42272 }},
0229 { 5514, { 5514, -1, 10.44144 }},
0230 { -5514, { -5514, 1, 10.44144 }},
0231 { 5522, { 5522, 0, 10.42272 }},
0232 { -5522, { -5522, 0, 10.42272 }},
0233 { 5524, { 5524, 0, 10.44144 }},
0234 { -5524, { -5524, 0, 10.44144 }},
0235 { 5532, { 5532, -1, 10.60209 }},
0236 { -5532, { -5532, 1, 10.60209 }},
0237 { 5534, { 5534, -1, 10.61426 }},
0238 { -5534, { -5534, 1, 10.61426 }},
0239 { 5542, { 5542, 0, 11.70767 }},
0240 { -5542, { -5542, 0, 11.70767 }},
0241 { 5544, { 5544, 0, 11.71147 }},
0242 { -5544, { -5544, 0, 11.71147 }},
0243 { 5554, { 5554, -1, 15.11061 }},
0244 { -5554, { -5554, 1, 15.11061 }},
0245 { 1000010020, { 1000010020, 1, 1.87561 }},
0246 { 1000010030, { 1000010030, 1, 2.80925 }},
0247 { 1000020030, { 1000020030, 2, 2.80923 }},
0248 { 1000020040, { 1000020040, 2, 3.72742 }},
0249 };
0250 }
0251
0252 ParticleSvc::ParticleSvc(const std::string& name, ISvcLocator* svc)
0253 : base_class(name, svc), m_particleMap{kParticleMap} {}
0254
0255 ParticleSvc::~ParticleSvc() = default;
0256
0257 StatusCode ParticleSvc::initialize()
0258 {
0259 StatusCode sc = Service::initialize();
0260 if (!sc.isSuccess())
0261 {
0262 fatal() << "Error initializing ParticleSvc" << endmsg;
0263 return sc;
0264 }
0265 info() << "ParticleSvc initialized successfully" << endmsg;
0266 return StatusCode::SUCCESS;
0267 }