BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
FTGeom Class Reference

#include <FTGeom.h>

Public Member Functions

void init ()
FTWiregetVirtualWire ()
FTWiregetWire (const int wire_id)
FTLayergetLayer (const int layer_id)
FTSuperLayergetSuperLayer (const int superLayer_id)
const int wire2layer (const int wire_id)
const int wire2superLayer (const int wire_id)
const int wire2wireStartLayer (const int wire_id)
const int wire2wireEndLayer (const int wire_id)
const int wire2wireIndexLayer (const int wire_id)
const int wire2wireStartSuperLayer (const int wire_id)
const int wire2wireEndSuperLayer (const int wire_id)
const int layer2superLayer (const int layer_id)
const int layer2wireStart (const int layer_id)
const int layer2wireEnd (const int layer_id)
const int layer2layerStart (const int layer_id)
const int layer2layerIndex (const int layer_id)
const int layer2nWires (const int layer_id)
const int superLayer2layerStart (const int superLayer_id)
const int superLayer2layerEnd (const int superLayer_id)
const int superLayer2wireStart (const int superLayer_id)
const int superLayer2wireEnd (const int superLayer_id)
const int superLayer2nLayers (const int superLayer_id)
const int superLayer2nWires (const int superLayer_id)

Static Public Member Functions

static FTGeominstance ()

Detailed Description

Definition at line 42 of file FTGeom.h.

Member Function Documentation

◆ getLayer()

FTLayer * FTGeom::getLayer ( const int layer_id)
inline

Definition at line 49 of file FTGeom.h.

49{ return m_layers[layer_id]; }

◆ getSuperLayer()

FTSuperLayer * FTGeom::getSuperLayer ( const int superLayer_id)
inline

Definition at line 50 of file FTGeom.h.

50 {
51 return m_superLayers[superLayer_id];
52 }

◆ getVirtualWire()

FTWire * FTGeom::getVirtualWire ( )
inline

Definition at line 47 of file FTGeom.h.

47{ return m_virtualWire; }

◆ getWire()

FTWire * FTGeom::getWire ( const int wire_id)
inline

Definition at line 48 of file FTGeom.h.

48{ return m_wires[wire_id]; }

◆ init()

void FTGeom::init ( )

Definition at line 147 of file FTGeom.cxx.

147 {
148 auto mdcGeomSvc = Gaudi::svcLocator()->service<IMdcGeomSvc>( "MdcGeomSvc" );
149 if ( !mdcGeomSvc )
150 {
151 std::cerr << "FTGeom::FTGeom: can't get MdcGeomSvc" << std::endl;
152 return;
153 }
154
155 const int Nwire = mdcGeomSvc->getWireSize();
156 // set neighbor
157 for ( int wire_id = 0; wire_id < Nwire; wire_id++ ) { m_wires[wire_id]->initNeighbor(); }
158}

◆ instance()

FTGeom * FTGeom::instance ( )
static

Definition at line 162 of file FTGeom.cxx.

162 {
163 if ( !instance_ptr )
164 {
165 instance_ptr = new FTGeom();
166 instance_ptr->init();
167 }
168 return instance_ptr;
169}
void init()
Definition FTGeom.cxx:147

Referenced by FTFinder::begin_run(), and FTWire::localId().

◆ layer2layerIndex()

const int FTGeom::layer2layerIndex ( const int layer_id)
inline

Definition at line 116 of file FTGeom.h.

116 {
117 return layer_id - layer2layerStart( layer_id );
118 }
const int layer2layerStart(const int layer_id)
Definition FTGeom.h:111

◆ layer2layerStart()

const int FTGeom::layer2layerStart ( const int layer_id)
inline

Definition at line 111 of file FTGeom.h.

111 {
112 return m_superLayerGeomInfo[layer2superLayer( layer_id )].layer_start;
113 }
const int layer2superLayer(const int layer_id)
Definition FTGeom.h:96

Referenced by layer2layerIndex().

◆ layer2nWires()

const int FTGeom::layer2nWires ( const int layer_id)
inline

Definition at line 121 of file FTGeom.h.

121 {
122 return m_layerGeomInfo[layer_id].wire_end - m_layerGeomInfo[layer_id].wire_start + 1;
123 }

◆ layer2superLayer()

const int FTGeom::layer2superLayer ( const int layer_id)
inline

Definition at line 96 of file FTGeom.h.

96 {
97 return m_layerGeomInfo[layer_id].superLayerId;
98 }

Referenced by layer2layerStart().

◆ layer2wireEnd()

const int FTGeom::layer2wireEnd ( const int layer_id)
inline

Definition at line 106 of file FTGeom.h.

106 {
107 return m_layerGeomInfo[layer_id].wire_end;
108 }

◆ layer2wireStart()

const int FTGeom::layer2wireStart ( const int layer_id)
inline

Definition at line 101 of file FTGeom.h.

101 {
102 return m_layerGeomInfo[layer_id].wire_start;
103 }

◆ superLayer2layerEnd()

const int FTGeom::superLayer2layerEnd ( const int superLayer_id)
inline

Definition at line 135 of file FTGeom.h.

135 {
136 return m_superLayerGeomInfo[superLayer_id].layer_end;
137 }

◆ superLayer2layerStart()

const int FTGeom::superLayer2layerStart ( const int superLayer_id)
inline

Definition at line 130 of file FTGeom.h.

130 {
131 return m_superLayerGeomInfo[superLayer_id].layer_start;
132 }

◆ superLayer2nLayers()

const int FTGeom::superLayer2nLayers ( const int superLayer_id)
inline

Definition at line 150 of file FTGeom.h.

150 {
151 return m_superLayerGeomInfo[superLayer_id].layer_end -
152 m_superLayerGeomInfo[superLayer_id].layer_start + 1;
153 }

◆ superLayer2nWires()

const int FTGeom::superLayer2nWires ( const int superLayer_id)
inline

Definition at line 156 of file FTGeom.h.

156 {
157 return m_superLayerGeomInfo[superLayer_id].wire_end -
158 m_superLayerGeomInfo[superLayer_id].wire_start + 1;
159 }

◆ superLayer2wireEnd()

const int FTGeom::superLayer2wireEnd ( const int superLayer_id)
inline

Definition at line 145 of file FTGeom.h.

145 {
146 return m_superLayerGeomInfo[superLayer_id].wire_end;
147 }

◆ superLayer2wireStart()

const int FTGeom::superLayer2wireStart ( const int superLayer_id)
inline

Definition at line 140 of file FTGeom.h.

140 {
141 return m_superLayerGeomInfo[superLayer_id].wire_start;
142 }

◆ wire2layer()

const int FTGeom::wire2layer ( const int wire_id)
inline

Definition at line 58 of file FTGeom.h.

58 {
59 return std::get<1>( m_geom_relationship[wire_id] );
60 }

Referenced by wire2wireEndLayer(), and wire2wireStartLayer().

◆ wire2superLayer()

const int FTGeom::wire2superLayer ( const int wire_id)
inline

Definition at line 63 of file FTGeom.h.

63 {
64 return std::get<2>( m_geom_relationship[wire_id] );
65 }

Referenced by wire2wireEndSuperLayer(), and wire2wireStartSuperLayer().

◆ wire2wireEndLayer()

const int FTGeom::wire2wireEndLayer ( const int wire_id)
inline

Definition at line 73 of file FTGeom.h.

73 {
74 return m_layerGeomInfo[wire2layer( wire_id )].wire_end;
75 }
const int wire2layer(const int wire_id)
Definition FTGeom.h:58

◆ wire2wireEndSuperLayer()

const int FTGeom::wire2wireEndSuperLayer ( const int wire_id)
inline

Definition at line 88 of file FTGeom.h.

88 {
89 return m_superLayerGeomInfo[wire2superLayer( wire_id )].wire_end;
90 }
const int wire2superLayer(const int wire_id)
Definition FTGeom.h:63

◆ wire2wireIndexLayer()

const int FTGeom::wire2wireIndexLayer ( const int wire_id)
inline

Definition at line 78 of file FTGeom.h.

78 {
79 return wire_id - wire2wireStartLayer( wire_id );
80 }
const int wire2wireStartLayer(const int wire_id)
Definition FTGeom.h:68

Referenced by FTWire::localId().

◆ wire2wireStartLayer()

const int FTGeom::wire2wireStartLayer ( const int wire_id)
inline

Definition at line 68 of file FTGeom.h.

68 {
69 return m_layerGeomInfo[wire2layer( wire_id )].wire_start;
70 }

Referenced by wire2wireIndexLayer().

◆ wire2wireStartSuperLayer()

const int FTGeom::wire2wireStartSuperLayer ( const int wire_id)
inline

Definition at line 83 of file FTGeom.h.

83 {
84 return m_superLayerGeomInfo[wire2superLayer( wire_id )].wire_start;
85 }

The documentation for this class was generated from the following files: