BOSS 7.0.1
BESIII Offline Software System
Loading...
Searching...
No Matches
InstallArea/include/MdcGeomSvc/MdcGeomSvc/MdcGeoWire.h
Go to the documentation of this file.
1// $Id: MdcGeoWire.h,v 1.6 2010/03/26 00:45:11 zhangy Exp $ // -*-c++-*-
2// header file for a class called "MdcGeoWire"
3#ifndef MDC_GEO_WIRE_H
4#define MDC_GEO_WIRE_H
5
6#include <CLHEP/Geometry/Point3D.h>
7#include <iostream>
8#include "MdcGeomSvc/MdcGeoLayer.h"
9#ifndef ENABLE_BACKWARDS_COMPATIBILITY
11#endif
12
13using namespace CLHEP;
14
15
17
18 public:
19 // Constructor.
21 : fId(0),
22 fSlant(0),
23 fnomSlant(0),
24 fCell(0),
25 fLayer(0),
26 fStat(0)
27 {
28 HepPoint3D O(0,0,0);
29 fBackward=O;
30 fForward=O;
31 fBwirepos=O;
32 fFwirepos=O;
33 fnomBackward=O;
34 fnomForward=O;
35 fLyr=NULL;
36 }
37
38 // Copy and Assignment
40 fId=e.Id();
41 fBackward=e.Backward();
42 fForward=e.Forward();
43 fBwirepos=e.BWirePos();
44 fFwirepos=e.FWirePos();
45 fSlant=e.Slant();
46 fCell=e.Cell();
47 fLayer=e.Layer();
48 fStat=e.Stat();
49 fLyr=e.Lyr();
50 };
51
53 if(this!=&e)
54 {
55 fId=e.Id();
56 fBackward=e.Backward();
57 fForward=e.Forward();
58 fBwirepos=e.BWirePos();
59 fFwirepos=e.FWirePos();
60 fSlant=e.Slant();
61 fCell=e.Cell();
62 fLayer=e.Layer();
63 fStat=e.Stat();
64 fLyr=e.Lyr();
65 }
66 return *this;
67 }
68
69 // Destructor
71
72 public: // Extractors
73 int Id(void) const;
74 HepPoint3D Backward(void) const;
75 HepPoint3D Forward(void) const;
76 HepPoint3D BWirePos(void) const;
77 HepPoint3D FWirePos(void) const;
78 double Slant(void) const;
79 HepPoint3D nomBackward(void) const;
80 HepPoint3D nomForward(void) const;
81 double nomSlant(void) const;
82 double Tension(void) const;
83 const double Sag(void) const;
84 const double Sagz(const double z) const;
85
86 int Cell(void) const;
87 int Layer(void) const;
88 int Stat(void) const;
89 MdcGeoLayer * Lyr(void) const;
90
91 public: // Modifiers
92 int Id(int);
97 double Slant(double);
100 double nomSlant(double);
101 double Tension(double);
102
103 int Cell(int);
104 int Layer(int);
105 int Stat(int);
107
108 private:
109 int fId;
110 HepPoint3D fBackward; //wire position at backward endplate (mm)
111 HepPoint3D fForward; //wire position at forward endplate (mm)
112 HepPoint3D fBwirepos; //wire position at backward endplate (mm)
113 HepPoint3D fFwirepos; //wire position at forward endplate (mm)
114 double fSlant; //slant angle of wire (rad)
115 HepPoint3D fnomBackward; //nominal wire position at backward endplate (mm)
116 HepPoint3D fnomForward; //nominal wire position at forward endplate (mm)
117 double fnomSlant; //nominal slant angle of wire (rad)
118 double fTension; // the tension of wire
119
120 int fCell; //#cell
121 int fLayer; //#layer
122 int fStat; //status (32 bits)
123 MdcGeoLayer * fLyr;
124};
125
126// Extractors
127inline int MdcGeoWire::Id(void) const { return fId; }
128inline HepPoint3D MdcGeoWire::Backward(void) const { return fBackward;}
129inline HepPoint3D MdcGeoWire::Forward(void) const { return fForward;}
130inline HepPoint3D MdcGeoWire::BWirePos(void) const { return fBwirepos;}
131inline HepPoint3D MdcGeoWire::FWirePos(void) const { return fFwirepos;}
132inline double MdcGeoWire::Slant(void) const { return fSlant; }
133inline HepPoint3D MdcGeoWire::nomBackward(void) const { return fnomBackward;}
134inline HepPoint3D MdcGeoWire::nomForward(void) const { return fnomForward;}
135inline double MdcGeoWire::nomSlant(void) const { return fnomSlant; }
136inline double MdcGeoWire::Tension(void) const { return fTension;}
137inline int MdcGeoWire::Cell(void) const { return fCell; }
138inline int MdcGeoWire::Layer(void) const { return fLayer; }
139inline int MdcGeoWire::Stat(void) const { return fStat; }
140inline MdcGeoLayer* MdcGeoWire::Lyr(void) const { return fLyr; }
141
142// Modifiers
143inline int MdcGeoWire::Id(int i) {return fId=i;}
144inline HepPoint3D MdcGeoWire::Backward(HepPoint3D i) {return fBackward=i;}
145inline HepPoint3D MdcGeoWire::Forward(HepPoint3D i) {return fForward=i;}
146inline HepPoint3D MdcGeoWire::BWirePos(HepPoint3D i) {return fBwirepos=i;}
147inline HepPoint3D MdcGeoWire::FWirePos(HepPoint3D i) {return fFwirepos=i;}
148inline HepPoint3D MdcGeoWire::nomBackward(HepPoint3D i) {return fnomBackward=i;}
149inline HepPoint3D MdcGeoWire::nomForward(HepPoint3D i) {return fnomForward=i;}
150inline double MdcGeoWire::Slant(double i) {return fnomSlant=i;}
151inline double MdcGeoWire::nomSlant(double i) {return fnomSlant=i;}
152inline double MdcGeoWire::Tension(double i) {return fTension=i;}
153inline int MdcGeoWire::Cell(int i) {return fCell=i;}
154inline int MdcGeoWire::Layer(int i) {return fLayer=i;}
155inline int MdcGeoWire::Stat(int i) {return fStat=i;}
156inline MdcGeoLayer* MdcGeoWire::Lyr(MdcGeoLayer* i) {return fLyr = i;}
157
158#endif /* MdcGeoWire_CLASS */
159
HepGeom::Point3D< double > HepPoint3D
const double Sag(void) const
Definition: MdcGeoWire.cxx:12
MdcGeoWire & operator=(const MdcGeoWire &e)
const double Sagz(const double z) const
Definition: MdcGeoWire.cxx:28