Belle II Software  release-05-02-19
CDCDisplacement.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2016 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Makoto Uchida *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <TObject.h>
14 #include <TVector3.h>
15 #include <cdc/dataobjects/WireID.h>
16 
17 
18 namespace Belle2 {
27  class CDCDisplacement: public TObject {
28  public:
29 
33  CDCDisplacement() :
34  m_wire(65535), m_fwd(), m_bwd(), m_tension()
35  {
36  }
37 
38 
42  CDCDisplacement(const WireID& wire, TVector3 fwd, TVector3 bwd, float tension) :
43  m_wire(wire), m_fwd(fwd), m_bwd(bwd), m_tension(tension)
44  {
45  }
46 
48  unsigned short getEWire() const
49  {
50  return m_wire;
51  }
52 
53  //TODO: remove the following 4 functions (not needed).
54 
56  unsigned short getISuperLayer() const
57  {
58  return (m_wire / 4096);
59  }
60 
62  unsigned short getILayer() const
63  {
64  return ((m_wire % 4096) / 512);
65  }
66 
71  unsigned short getIWire() const
72  {
73  return (m_wire % 512);
74  }
75 
77  int getICLayer() const
78  {
79  if (getISuperLayer() == 0) { return getILayer(); }
80  return 8 + (getISuperLayer() - 1) * 6 + getILayer();
81  }
82 
84  float getXFwd() const {return m_fwd.X();}
85 
87  float getYFwd() const {return m_fwd.Y();}
88 
90  float getZFwd() const {return m_fwd.Z();}
91 
93  float getXBwd() const {return m_bwd.X();}
94 
96  float getYBwd() const {return m_bwd.Y();}
97 
99  float getZBwd() const {return m_bwd.Z();}
100 
102  float getTension() const {return m_tension;}
103 
104  private:
105  unsigned short m_wire;
106  //TODO: replace TVector3s with simple arrays to save memory.
107  TVector3 m_fwd;
108  TVector3 m_bwd;
109  float m_tension;
111  };
112 
114 } // end namespace Belle2
Belle2::CDCDisplacement::getTension
float getTension() const
Getter for wire tension.
Definition: CDCDisplacement.h:110
Belle2::WireID
Class to identify a wire inside the CDC.
Definition: WireID.h:44
Belle2::CDCDisplacement::m_wire
unsigned short m_wire
Wire ID.
Definition: CDCDisplacement.h:113
Belle2::CDCDisplacement::ClassDef
ClassDef(CDCDisplacement, 3)
ClassDef.
Belle2::CDCDisplacement::CDCDisplacement
CDCDisplacement()
Default constructor.
Definition: CDCDisplacement.h:41
Belle2::CDCDisplacement::m_tension
float m_tension
Displacement of wire tension (grW)
Definition: CDCDisplacement.h:117
Belle2::CDCDisplacement::getISuperLayer
unsigned short getISuperLayer() const
Getter for Super-Layer.
Definition: CDCDisplacement.h:64
Belle2::CDCDisplacement::getYBwd
float getYBwd() const
Getter for bwd y-position.
Definition: CDCDisplacement.h:104
Belle2::CDCDisplacement::getEWire
unsigned short getEWire() const
Getter for EWireID.
Definition: CDCDisplacement.h:56
Belle2::CDCDisplacement::getYFwd
float getYFwd() const
Getter for fwd y-position.
Definition: CDCDisplacement.h:95
Belle2::CDCDisplacement::getZFwd
float getZFwd() const
Getter for fwd z-position.
Definition: CDCDisplacement.h:98
Belle2::CDCDisplacement::m_fwd
TVector3 m_fwd
Displacement of forward side.
Definition: CDCDisplacement.h:115
Belle2::CDCDisplacement
Database object for displacement of sense wire position.
Definition: CDCDisplacement.h:35
Belle2::CDCDisplacement::getXBwd
float getXBwd() const
Getter for bwd x-position.
Definition: CDCDisplacement.h:101
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::CDCDisplacement::getIWire
unsigned short getIWire() const
Getter for wire within the layer.
Definition: CDCDisplacement.h:79
Belle2::CDCDisplacement::getICLayer
int getICLayer() const
Getter for continuous layer numbering.
Definition: CDCDisplacement.h:85
Belle2::CDCDisplacement::getZBwd
float getZBwd() const
Getter for bwd z-position.
Definition: CDCDisplacement.h:107
Belle2::CDCDisplacement::m_bwd
TVector3 m_bwd
Displacement of backward side.
Definition: CDCDisplacement.h:116
Belle2::CDCDisplacement::getXFwd
float getXFwd() const
Getter for fwd x-position.
Definition: CDCDisplacement.h:92
Belle2::CDCDisplacement::getILayer
unsigned short getILayer() const
Getter for layer within the Super-Layer.
Definition: CDCDisplacement.h:70