CMS 3D CMS Logo

GflashTrajectory.h
Go to the documentation of this file.
1 #ifndef GflashTrajectory_H
2 #define GflashTrajectory_H 1
3 
5 
7 public:
10 
11  void initializeTrajectory(const HepGeom::Vector3D<double> &, const HepGeom::Point3D<double> &, double q, double Field);
12 
13  void setCotTheta(double cotTheta);
14  void setCurvature(double curvature);
15  void setZ0(double z0);
16  void setD0(double d0);
17  void setPhi0(double phi0);
18 
19  double getCotTheta() const { return _cotTheta; }
20  double getCurvature() const { return _curvature; }
21  double getZ0() const { return _z0; };
22  double getD0() const { return _d0; };
23  double getPhi0() const { return _phi0; };
24 
25  // Get sines and cosines of Phi0 and Theta
26  double getSinPhi0() const;
27  double getCosPhi0() const;
28  double getSinTheta() const;
29  double getCosTheta() const;
30 
31  // Get Position as a function of (three-dimensional) path length
32  HepGeom::Point3D<double> getPosition(double s = 0.0) const;
33 
34  // Get Direction as a function of (three-dimensional) path length
35  HepGeom::Vector3D<double> getDirection(double s = 0.0) const;
36 
38  double getPathLengthAtRhoEquals(double rho) const;
39  double getPathLengthAtZ(double z) const;
40 
41  double getZAtR(double r) const;
42  double getL2DAtR(double r) const;
43 
44  // needed whenever _sinPhi0, _cosPh0, _sinTheta, or _cosTheta is used.
45  void _refreshCache() const;
46 
47  // neede whenever _ss or _cc are used.
48  void _cacheSinesAndCosines(double s) const;
49 
50 private:
51  // This is the GflashTrajectory:
52  double _cotTheta;
53  double _curvature;
54  double _z0;
55  double _d0;
56  double _phi0;
57 
58  // This is the cache
59  mutable bool _isStale;
60  mutable double _sinPhi0;
61  mutable double _cosPhi0;
62  mutable double _sinTheta;
63  mutable double _cosTheta;
64  mutable double _s;
65 
66  mutable double _aa;
67  mutable double _ss;
68  mutable double _cc;
69 };
70 
71 #endif
GflashTrajectory::setPhi0
void setPhi0(double phi0)
Definition: GflashTrajectory.cc:109
GflashTrajectory::_refreshCache
void _refreshCache() const
Definition: GflashTrajectory.cc:217
GflashTrajectory::getD0
double getD0() const
Definition: GflashTrajectory.h:22
GflashTrajectory::_aa
double _aa
Definition: GflashTrajectory.h:66
GflashTrajectory::getPathLengthAtRhoEquals
double getPathLengthAtRhoEquals(double rho) const
Definition: GflashTrajectory.cc:175
GflashTrajectory::getCosPhi0
double getCosPhi0() const
Definition: GflashTrajectory.cc:118
GflashTrajectoryPoint.h
GflashTrajectory::_cosTheta
double _cosTheta
Definition: GflashTrajectory.h:63
GflashTrajectory::_phi0
double _phi0
Definition: GflashTrajectory.h:56
GflashTrajectory::getCurvature
double getCurvature() const
Definition: GflashTrajectory.h:20
GflashTrajectory::setZ0
void setZ0(double z0)
Definition: GflashTrajectory.cc:99
PixelRecoUtilities::curvature
T curvature(T InversePt, const edm::EventSetup &iSetup)
Definition: PixelRecoUtilities.h:42
GflashTrajectory::initializeTrajectory
void initializeTrajectory(const HepGeom::Vector3D< double > &, const HepGeom::Point3D< double > &, double q, double Field)
Definition: GflashTrajectory.cc:27
GflashTrajectory::getZAtR
double getZAtR(double r) const
Definition: GflashTrajectory.cc:183
GflashTrajectory::getDirection
HepGeom::Vector3D< double > getDirection(double s=0.0) const
Definition: GflashTrajectory.cc:144
GflashTrajectory
Definition: GflashTrajectory.h:6
alignCSCRings.s
s
Definition: alignCSCRings.py:92
GflashTrajectory::_cotTheta
double _cotTheta
Definition: GflashTrajectory.h:52
DDAxes::z
GflashTrajectory::_d0
double _d0
Definition: GflashTrajectory.h:55
HLTMuonOfflineAnalyzer_cfi.z0
z0
Definition: HLTMuonOfflineAnalyzer_cfi.py:98
GflashTrajectory::getPhi0
double getPhi0() const
Definition: GflashTrajectory.h:23
DDAxes::rho
GflashTrajectory::_cosPhi0
double _cosPhi0
Definition: GflashTrajectory.h:61
GflashTrajectory::setCurvature
void setCurvature(double curvature)
Definition: GflashTrajectory.cc:94
GflashTrajectory::GflashTrajectory
GflashTrajectory()
Definition: GflashTrajectory.cc:5
GflashTrajectory::getZ0
double getZ0() const
Definition: GflashTrajectory.h:21
GflashTrajectory::_sinPhi0
double _sinPhi0
Definition: GflashTrajectory.h:60
GflashTrajectory::_z0
double _z0
Definition: GflashTrajectory.h:54
GflashTrajectory::_cc
double _cc
Definition: GflashTrajectory.h:68
GflashTrajectory::setCotTheta
void setCotTheta(double cotTheta)
Definition: GflashTrajectory.cc:89
submitPVResolutionJobs.q
q
Definition: submitPVResolutionJobs.py:84
GflashTrajectory::_s
double _s
Definition: GflashTrajectory.h:64
GflashTrajectory::getCosTheta
double getCosTheta() const
Definition: GflashTrajectory.cc:126
alignCSCRings.r
r
Definition: alignCSCRings.py:93
GflashTrajectory::_isStale
bool _isStale
Definition: GflashTrajectory.h:59
GflashTrajectory::_curvature
double _curvature
Definition: GflashTrajectory.h:53
GflashTrajectory::getSinTheta
double getSinTheta() const
Definition: GflashTrajectory.cc:122
GflashTrajectory::getPosition
HepGeom::Point3D< double > getPosition(double s=0.0) const
Definition: GflashTrajectory.cc:131
GflashTrajectory::_ss
double _ss
Definition: GflashTrajectory.h:67
GflashTrajectory::_sinTheta
double _sinTheta
Definition: GflashTrajectory.h:62
GflashTrajectory::getPathLengthAtZ
double getPathLengthAtZ(double z) const
Definition: GflashTrajectory.cc:179
GflashTrajectory::setD0
void setD0(double d0)
Definition: GflashTrajectory.cc:104
GflashTrajectory::_cacheSinesAndCosines
void _cacheSinesAndCosines(double s) const
Definition: GflashTrajectory.cc:247
GflashTrajectory::getL2DAtR
double getL2DAtR(double r) const
Definition: GflashTrajectory.cc:185
point
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
d0
static constexpr float d0
Definition: L1EGammaCrystalsEmulatorProducer.cc:85
GflashTrajectory::~GflashTrajectory
~GflashTrajectory()
Definition: GflashTrajectory.cc:87
GflashTrajectory::getSinPhi0
double getSinPhi0() const
Definition: GflashTrajectory.cc:114
GflashTrajectory::getCotTheta
double getCotTheta() const
Definition: GflashTrajectory.h:19
GflashTrajectoryPoint
Definition: GflashTrajectoryPoint.h:8
GflashTrajectory::getGflashTrajectoryPoint
void getGflashTrajectoryPoint(GflashTrajectoryPoint &point, double s) const
Definition: GflashTrajectory.cc:155