5 const float chg[109] = {-
onethird,
twothird, -
onethird,
twothird, -
onethird,
twothird, -
onethird,
twothird, 0, 0,
6 -1, 0, -1, 0, -1, 0, -1, 0, 0, 0,
7 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
8 1, 0, 1, 2, 0, 0, 1, 2, 0, 0,
9 -
onethird,
twothird, -
onethird,
twothird, -
onethird,
twothird, 0, 0, 0, 0,
10 -1, 0, -1, 0, -1, 0, 0, 0, 0, 0,
11 -
onethird,
twothird, -
onethird,
twothird, -
onethird,
twothird, 0, 0, 0, 0,
12 -1, 0, -1, 0, -1, 0, 1, 1, 0, 0,
13 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
14 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
15 0, 0, 0, 0, 0, 0, 0, 0, 0};
24 hepchg =
chg[kqa - 1];
27 else if (kqa == 100 || kqa == 101) {
31 else if (kqa == 102 || kqa == 104) {
33 }
else if (kqa % 10 != 0) {
34 int kqx = kqa / 1000000 % 10;
35 int kq3 = kqa / 1000 % 10;
36 int kq2 = kqa / 100 % 10;
37 int kq1 = kqa / 10 % 10;
38 int irt = kqa % 10000;
39 if (kqx > 0 && irt < 100) {
40 hepchg =
chg[irt - 1];
41 if (kqa == 5100061 || kqa == 5100062) {
44 }
else if (kq3 == 0) {
47 hepchg =
chg[kq2 - 1] -
chg[kq1 - 1];
49 if ((kq2 == 3) || (kq2 == 5)) {
50 hepchg = chg[kq1 - 1] - chg[kq2 - 1];
52 }
else if (kq1 == 0) {
54 hepchg =
chg[kq3 - 1] +
chg[kq2 - 1];
57 hepchg =
chg[kq3 - 1] +
chg[kq2 - 1] +
chg[kq1 - 1];
70 o << t.
type() <<
", ";
std::ostream & operator<<(std::ostream &o, const CoreSimTrack &t)
float charge() const
charge
Abs< T >::type abs(const T &t)
int type() const
particle type (HEP PDT convension)
const math::XYZTLorentzVectorD & momentum() const