Belle II Software  release-08-01-10
BasicFacetVarSet.h
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/trackFindingCDC/varsets/VarSet.h>
11 #include <tracking/trackFindingCDC/varsets/VarNames.h>
12 
13 namespace Belle2 {
18  namespace TrackFindingCDC {
19  class CDCFacet;
20 
22  constexpr
23  static char const* const basicFacetVarNames[] = {
24  "superlayer_id",
25 
26  // "start_layer_id",
27  "start_drift_length",
28  "start_drift_length_sigma",
29 
30  // "middle_layer_id",
31  "middle_drift_length",
32  "middle_drift_length_sigma",
33 
34  // "end_layer_id",
35  "end_drift_length",
36  "end_drift_length_sigma",
37 
38  "oclock_delta",
39  "twist",
40  "cell_extend",
41  "n_crossing",
42 
43  "alpha",
44  };
45 
47  struct BasicFacetVarNames : public VarNames<const CDCFacet> {
48 
50  // we shouldn't use public member variables but we do want to rewrite all related code using setters/getters
51  // at least tell cppcheck that everything is fine
52  // cppcheck-suppress duplInheritedMember
53  static const size_t nVars = size(basicFacetVarNames);
54 
56  static constexpr char const* getName(int iName)
57  {
58  return basicFacetVarNames[iName];
59  }
60  };
61 
66  class BasicFacetVarSet : public VarSet<BasicFacetVarNames> {
67 
68  public:
70  bool extract(const CDCFacet* ptrFacet) final;
71  };
72  }
74 }
Class to compute floating point variables from a facet which can be recorded as a flat TNtuple or ser...
bool extract(const CDCFacet *ptrFacet) final
Generate and assign the contained variables.
Class representing a triple of neighboring oriented wire with additional trajectory information.
Definition: CDCFacet.h:32
Class that specifies the names of the variables.
Definition: VarNames.h:21
Generic class that generates some named float values from a given object.
Definition: VarSet.h:36
Abstract base class for different kinds of events.
Vehicle class to transport the variable names.
static const size_t nVars
Number of variables to be generated.
static constexpr char const * getName(int iName)
Getter for the name at the given index.