Belle II Software  release-05-01-25
ClassMnemomics.h
Go to the documentation of this file.
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2015 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Oliver Frost *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 
12 #include <tracking/trackFindingCDC/utilities/WeightedRelation.h>
13 
14 #include <tracking/trackFindingCDC/utilities/StringManipulation.h>
15 
16 #include <string>
17 
25 namespace Belle2 {
30  namespace TrackFindingCDC {
31 
32  class CDCWireHit;
33  class CDCWireHitCluster;
34  class CDCFacet;
35  class CDCSegment2D;
36  class CDCSegmentPair;
37  class CDCAxialSegmentPair;
38  class CDCSegmentTriple;
39  class CDCTrack;
40 
42  inline std::string getClassMnemomicParameterName(const CDCWireHit* dispatchTag __attribute__((unused)))
43  {
44  return "wireHit";
45  }
46 
48  inline std::string getClassMnemomicParameterDescription(const CDCWireHit* dispatchTag __attribute__((unused)))
49  {
50  return "wire hit";
51  }
52 
54  inline std::string getClassMnemomicParameterName(const CDCWireHitCluster* dispatchTag __attribute__((unused)))
55  {
56  return "cluster";
57  }
58 
60  inline std::string getClassMnemomicParameterDescription(const CDCWireHitCluster* dispatchTag __attribute__((unused)))
61  {
62  return "wire hit cluster";
63  }
64 
66  inline std::string getClassMnemomicParameterName(const CDCFacet* dispatchTag __attribute__((unused)))
67  {
68  return "facet";
69  }
70 
72  inline std::string getClassMnemomicParameterDescription(const CDCFacet* dispatchTag __attribute__((unused)))
73  {
74  return "facet";
75  }
76 
78  inline std::string getClassMnemomicParameterName(const CDCSegment2D* dispatchTag __attribute__((unused)))
79  {
80  return "segment";
81  }
82 
84  inline std::string getClassMnemomicParameterDescription(const CDCSegment2D* dispatchTag __attribute__((unused)))
85  {
86  return "segment";
87  }
88 
90  inline std::string getClassMnemomicParameterName(const CDCSegmentPair* dispatchTag __attribute__((unused)))
91  {
92  return "segmentPair";
93  }
94 
96  inline std::string getClassMnemomicParameterDescription(const CDCSegmentPair* dispatchTag __attribute__((unused)))
97  {
98  return "segment pair";
99  }
100 
102  inline std::string getClassMnemomicParameterName(const CDCAxialSegmentPair* dispatchTag __attribute__((unused)))
103  {
104  return "axialSegmentPair";
105  }
106 
108  inline std::string getClassMnemomicParameterDescription(const CDCAxialSegmentPair* tag __attribute__((unused)))
109  {
110  return "axial segment pair";
111  }
112 
114  inline std::string getClassMnemomicParameterName(const CDCSegmentTriple* dispatchTag __attribute__((unused)))
115  {
116  return "segmentTriple";
117  }
118 
120  inline std::string getClassMnemomicParameterDescription(const CDCSegmentTriple* dispatchTag __attribute__((unused)))
121  {
122  return "segment triple";
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 }
Belle2::TrackFindingCDC::CDCTrack
Class representing a sequence of three dimensional reconstructed hits.
Definition: CDCTrack.h:51
Belle2::TrackFindingCDC::CDCSegmentPair
Class representing a pair of one reconstructed axial segement and one stereo segment in adjacent supe...
Definition: CDCSegmentPair.h:44
Belle2::getClassMnemomicParameterDescription
std::string getClassMnemomicParameterDescription(const RecoTrack *dispatchTag __attribute__((unused)))
Returns a short description for class RecoTrack to be used in descriptions of parameters.
Definition: ClassMnemomics.h:33
Belle2::TrackFindingCDC::CDCAxialSegmentPair
Class representing a pair of reconstructed axial segements in adjacent superlayer.
Definition: CDCAxialSegmentPair.h:41
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TrackFindingCDC::CDCFacet
Class representing a triple of neighboring oriented wire with additional trajectory information.
Definition: CDCFacet.h:42
Belle2::TrackFindingCDC::CDCWireHitCluster
An aggregation of CDCWireHits.
Definition: CDCWireHitCluster.h:31
Belle2::TrackFindingCDC::CDCSegment2D
A reconstructed sequence of two dimensional hits in one super layer.
Definition: CDCSegment2D.h:40
Belle2::TrackFindingCDC::WeightedRelation
Type for two related objects with a weight.
Definition: CDCSegment2D.h:36
Belle2::TrackFindingCDC::CDCWireHit
Class representing a hit wire in the central drift chamber.
Definition: CDCWireHit.h:65
Belle2::getClassMnemomicParameterName
std::string getClassMnemomicParameterName(const RecoTrack *dispatchTag __attribute__((unused)))
Returns a short name for class RecoTrack to be used in names of parameters.
Definition: ClassMnemomics.h:27
Belle2::TrackFindingCDC::CDCSegmentTriple
Class representing a triple of reconstructed segements in adjacent superlayer.
Definition: CDCSegmentTriple.h:42