Belle II Software development
CDCMisalignment.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
9#pragma once
10
11#include <calibration/DBObjCalibrationConstMapBase.h>
12#include <cdc/dataobjects/WireID.h>
13
14namespace Belle2 {
21 // N.B. The original was CDCCalibration.h by Tadeas; copied here and removed
22 // calibration-related part. This is tentative for code development; to be
23 // moved to an appropriate directory later.
24 //TODO: define using a template tech. (?) since this and CDCAlignment are the same.
26
27 public:
28 // Define some not used wire/cell ids for other purposes ------------
30 static const baseType WireNone = 511;
32 static const baseType ICLayerNone = 63;
34 static const baseType Wire4Layers = 400;
36 static const baseType Wire4SuperLayers = 405;
38 static const baseType Wire4EndPartOuter = 410;
40 static const baseType Wire4EndPartMiddle = 411;
42 static const baseType Wire4EndPartInner = 412;
43
44 // Misalignment of wires ------------------------------------------------
46 static const baseType wireBwdX = 0;
48 static const baseType wireBwdY = 1;
50 static const baseType wireBwdZ = 2;
52 static const baseType wireFwdX = 4;
54 static const baseType wireFwdY = 5;
56 static const baseType wireFwdZ = 6;
57
58 // Layer misalignment -------------------------------------------------
60 static const baseType layerX = 0;
62 static const baseType layerY = 1;
63
64 // Tension and additional wire shape parametrization ---------------
66 static const baseType wireTension = 21;
67
68 // Endplates -------------------------------------------------------
70 static const baseType endPlateBwdPhi = 46;
72 static const baseType endPlateFwdDphi = 47;
73
76
78 double getBwdWireShiftX(int ICLayer, int ILayer)
79 {
80 return get(WireID(ICLayer, ILayer), wireBwdX);
81 }
83 double getBwdWireShiftY(int ICLayer, int ILayer)
84 {
85 return get(WireID(ICLayer, ILayer), wireBwdY);
86 }
88 double getBwdWireShiftZ(int ICLayer, int ILayer)
89 {
90 return get(WireID(ICLayer, ILayer), wireBwdZ);
91 }
92
94 double getFwdWireShiftX(int ICLayer, int ILayer)
95 {
96 return get(WireID(ICLayer, ILayer), wireFwdX);
97 }
99 double getFwdWireShiftY(int ICLayer, int ILayer)
100 {
101 return get(WireID(ICLayer, ILayer), wireFwdY);
102 }
104 double getFwdWireShiftZ(int ICLayer, int ILayer)
105 {
106 return get(WireID(ICLayer, ILayer), wireFwdZ);
107 }
108
110 double getWireTension(int ICLayer, int ILayer)
111 {
112 return get(WireID(ICLayer, ILayer), wireTension);
113 }
114
116 double getLayerShiftX(int ICLayer) {return get(WireID(ICLayer, Wire4Layers), layerX);}
118 double getLayerShiftY(int ICLayer) {return get(WireID(ICLayer, Wire4Layers), layerY);}
121
122 private:
123
126 };
127
129} // end namespace Belle2
130
CDC misalignment constants.
CDCMisalignment()
Constructor.
double getFwdWireShiftY(int ICLayer, int ILayer)
Getter to Y shift of fwd wire.
double getFwdWireShiftZ(int ICLayer, int ILayer)
Getter to Z shift of fwd wire.
static const baseType Wire4EndPartOuter
Outer conical end part = (63, 405)
double getWireTension(int ICLayer, int ILayer)
Getter to wire tension.
static const baseType ICLayerNone
Last bit for continous layer (unused)
double getBwdWireShiftY(int ICLayer, int ILayer)
Getter to Y shift of bwd wire.
static const baseType wireBwdZ
Wire Z position w.r.t. nominal on backward endplate.
static const baseType Wire4SuperLayers
SuperLayer = (SuperLayer, 0, 405)
ClassDef(CDCMisalignment, 1)
Storage for CDC misalignment constants (mainly now for Millepede)
double getFwdWireShiftX(int ICLayer, int ILayer)
Getter to X shift of fwd wire.
static const baseType Wire4EndPartMiddle
Middle conical end part = (63, 411)
double getLayerShiftY(int ICLayer)
Direct getter to Y shift of layer.
static const baseType WireNone
Last bit for wire (actually over 100 unused - but useful for us)
static const baseType wireBwdY
Wire Y position w.r.t. nominal on backward endplate.
static const baseType wireFwdZ
Wire Z position w.r.t. nominal on forward endplate.
static const baseType wireFwdY
Wire Y position w.r.t. nominal on forward endplate.
static const baseType Wire4Layers
layer = (ICLayer, 400)
static const baseType wireFwdX
Wire X position w.r.t. nominal on forward endplate.
static const baseType wireBwdX
Wire X position w.r.t. nominal on backward endplate.
static const baseType layerY
Layer Y position w.r.t. geometry.
double getBwdWireShiftZ(int ICLayer, int ILayer)
Getter to Z shift of bwd wire.
static const baseType layerX
Layer X position w.r.t. geometry.
static const baseType endPlateBwdPhi
Backward endplate rotation w.r.t. nominal (geometry)
static const baseType wireTension
Wire tension w.r.t. nominal (=50. ?)
double getBwdWireShiftX(int ICLayer, int ILayer)
Getter to X shift of bwd wire.
static const baseType Wire4EndPartInner
Inner conical end part = (63, 412)
double getLayerShiftX(int ICLayer)
Direct getter to X shift of layer.
static const baseType endPlateFwdDphi
Forward enplate rotation taking endPlateBwdPhi as new nominal.
Base for calibration or alignment parameters identified by two unsigned shorts Typically first is som...
int baseType
The underlying element type (also for param id)
virtual double get(baseType id, baseType param) const
Get parameter value for given element and parameter number.
Class to identify a wire inside the CDC.
Definition: WireID.h:34
Abstract base class for different kinds of events.