BOSS 7.0.3
BESIII Offline Software System
Loading...
Searching...
No Matches
Emc/EmcRecGeoSvc/EmcRecGeoSvc-01-01-07/EmcRecGeoSvc/EmcRecBarrelGeo.h
Go to the documentation of this file.
1//
2// EmcRecBarrelGeo
3//
4// Dec 18, 2003, Created by Wang.Zhe
5//
6// unit: mm, radian
7//
8#ifndef EMC_REC_BARREL_GEO_H
9#define EMC_REC_BARREL_GEO_H
10
11#include <vector>
12#include <iostream>
13
14#include "CLHEP/Geometry/Point3D.h"
15#ifndef ENABLE_BACKWARDS_COMPATIBILITY
17#endif
18
19#include "Identifier/Identifier.h"
20#include "Identifier/EmcID.h"
21#include "EmcRecGeoSvc/EmcRecCrystal.h"
22
23using namespace CLHEP;
24
26{
27 public:
28 // Constructors and destructors
31
32 // private method
33 private:
34 //====for barrel EMC
35 void ParameterInitialize();
36 // Evaluate one volumn along y-axis, then transform them to others by rotation.
37 void CalculateStandardCrystal();
38 // Figure out the volumn with minimum phi
39 void Transform2Column1();
40 // Fill crystals' center vector
41 void FillCCenterVector();
42
43 public:
44 // Access by others (refer to Identifier for ID arrangement)
45 //
46 // Index range: theta phi
47 // barrel==> 0-43 0-119
48 // (value of angel from min to max)
49 //
50 EmcRecCrystal GetCrystal(const Identifier& id) const;
51 HepPoint3D GetCCenter(const Identifier& id) const;
52 HepPoint3D GetCFrontCenter(const Identifier& id) const;
53
54 inline double GetBarrelR() const { return fBarrelR; }
55 inline double GetBarrelOffset1() const { return fBarrelOffset1; }
56 inline double GetBarrelOffset2() const { return fBarrelOffset2; }
57 inline double GetBarrelh1() const { return fBarrelh1; }
58 inline double GetBarrelh2() const { return fBarrelh2; }
59 inline double GetBarrelh3() const { return fBarrelh3; }
60 inline double GetBarrelL() const { return fBarrelL; }
61 inline int GetBarrelNPhiMax() const { return fBarrelNPhiMax; }
62 inline int GetBarrelNThetaMax() const { return fBarrelNThetaMax; }
63
64 // private data members
65 private:
66 // for Barrel EMC
67 double fBarrelR;
68 double fBarrelOffset1;
69 double fBarrelOffset2;
70 double fBarrelh1;
71 double fBarrelh2;
72 double fBarrelh3;
73 double fBarrelL;
74 double fBarrelL2;
75 double fBarrelAlpha;
76 int fBarrelNPhiMax;
77 int fBarrelNThetaMax;
78
79 // standard crystals
80 vector <EmcRecCrystal> fStandard;
81 // vector of each crystal's center
82 vector <HepPoint3D> fCCenter;
83 vector <HepPoint3D> fCFrontCenter;
84};
85#endif /* EMC_REC_BARREL_GEO_H */
EmcRecCrystal GetCrystal(const Identifier &id) const
HepPoint3D GetCFrontCenter(const Identifier &id) const
HepPoint3D GetCCenter(const Identifier &id) const