Belle II Software development
ClassMnemomics.h
Go to the documentation of this file.
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8#pragma once
9
10#include <tracking/trackingUtilities/utilities/WeightedRelation.h>
11
12#include <tracking/trackingUtilities/utilities/StringManipulation.h>
13
14#include <string>
15
22
23namespace Belle2 {
28
29 namespace TrackingUtilities {
30
31 class CDCWireHit;
32 class CDCTrack;
34 class CDCFacet;
35 class CDCSegment2D;
36 class CDCSegmentPair;
38 class CDCSegmentTriple;
39
41 inline std::string getClassMnemomicParameterName(const CDCWireHit* dispatchTag __attribute__((unused)))
42 {
43 return "wireHit";
44 }
45
47 inline std::string getClassMnemomicParameterDescription(const CDCWireHit* dispatchTag __attribute__((unused)))
48 {
49 return "wire hit";
50 }
51
53 inline std::string getClassMnemomicParameterName(const CDCWireHitCluster* dispatchTag __attribute__((unused)))
54 {
55 return "cluster";
56 }
57
59 inline std::string getClassMnemomicParameterDescription(const CDCWireHitCluster* dispatchTag __attribute__((unused)))
60 {
61 return "wire hit cluster";
62 }
63
65 inline std::string getClassMnemomicParameterName(const CDCFacet* dispatchTag __attribute__((unused)))
66 {
67 return "facet";
68 }
69
71 inline std::string getClassMnemomicParameterDescription(const CDCFacet* dispatchTag __attribute__((unused)))
72 {
73 return "facet";
74 }
75
77 inline std::string getClassMnemomicParameterName(const CDCSegment2D* dispatchTag __attribute__((unused)))
78 {
79 return "segment";
80 }
81
83 inline std::string getClassMnemomicParameterDescription(const CDCSegment2D* dispatchTag __attribute__((unused)))
84 {
85 return "segment";
86 }
87
89 inline std::string getClassMnemomicParameterName(const CDCSegmentPair* dispatchTag __attribute__((unused)))
90 {
91 return "segmentPair";
92 }
93
95 inline std::string getClassMnemomicParameterDescription(const CDCSegmentPair* dispatchTag __attribute__((unused)))
96 {
97 return "segment pair";
98 }
99
101 inline std::string getClassMnemomicParameterName(const CDCAxialSegmentPair* dispatchTag __attribute__((unused)))
102 {
103 return "axialSegmentPair";
104 }
105
107 inline std::string getClassMnemomicParameterDescription(const CDCAxialSegmentPair* tag __attribute__((unused)))
108 {
109 return "axial segment pair";
110 }
111
113 inline std::string getClassMnemomicParameterName(const CDCSegmentTriple* dispatchTag __attribute__((unused)))
114 {
115 return "segmentTriple";
116 }
117
119 inline std::string getClassMnemomicParameterDescription(const CDCSegmentTriple* dispatchTag __attribute__((unused)))
120 {
121 return "segment triple";
122 }
123
124
126 inline std::string getClassMnemomicParameterName(const CDCTrack* dispatchTag __attribute__((unused)))
127 {
128 return "track";
129 }
130
132 inline std::string getClassMnemomicParameterDescription(const CDCTrack* dispatchTag __attribute__((unused)))
133 {
134 return "track";
135 }
136
138 template <class T>
139 inline std::string getClassMnemomicParameterName(const WeightedRelation<T>* dispatchTag __attribute__((unused)))
140 {
141 return getClassMnemomicParameterName((T*)(nullptr)) + "Relation";
142 }
143
145 template <class T>
146 inline std::string getClassMnemomicParameterDescription(const WeightedRelation<T>* dispatchTag __attribute__((unused)))
147 {
148 return getClassMnemomicParameterDescription((T*)(nullptr)) + " relation";
149 }
150
152 template <class From, class To>
153 inline std::string getClassMnemomicParameterName(const WeightedRelation<From, To>* dispatchTag __attribute__((unused)))
154 {
155 return prefixed(getClassMnemomicParameterName((From*)(nullptr)) + "To",
156 getClassMnemomicParameterName((To*)(nullptr)) + "Relation");
157 }
158
160 template <class From, class To>
161 inline std::string getClassMnemomicParameterDescription(const WeightedRelation<From, To>* dispatchTag __attribute__((unused)))
162 {
163 return getClassMnemomicParameterDescription((From*)(nullptr)) + " to " +
164 getClassMnemomicParameterDescription((To*)(nullptr)) + " relation";
165 }
166
167 }
169}
Class representing a pair of reconstructed axial segments in adjacent superlayer.
Class representing a triple of neighboring oriented wire with additional trajectory information.
Definition CDCFacet.h:32
A reconstructed sequence of two dimensional hits in one super layer.
Class representing a pair of one reconstructed axial segment and one stereo segment in adjacent super...
Class representing a triple of reconstructed segments in adjacent superlayer.
Class representing a sequence of three dimensional reconstructed hits.
Definition CDCTrack.h:39
Class representing a hit wire in the central drift chamber.
Definition CDCWireHit.h:58
Type for two related objects with a weight.
Abstract base class for different kinds of events.
std::string getClassMnemomicParameterName(const CDCWireHit *dispatchTag)
Returns a short name for class CDCWireHit to be used in names of parameters.
std::string getClassMnemomicParameterDescription(const CDCWireHit *dispatchTag)
Returns a short description for class CDCWireHit to be used in descriptions of parameters.