CMS 3D CMS Logo

MagCylinder.h
Go to the documentation of this file.
1 #ifndef MagCylinder_H
2 #define MagCylinder_H
3 
6 
7 #include <vector>
8 
9 //-- FIXME
10 #include <string>
11 //--
12 
13 template <class T>
15 
16 class MagCylinder final : public MagVolume {
17 public:
19  const RotationType& rot,
20  const std::vector<VolumeSide>& faces,
21  const MagneticFieldProvider<float>* mfp);
22 
23  bool inside(const GlobalPoint& gp, double tolerance = 0.) const override;
24  bool inside(const LocalPoint& lp, double tolerance = 0.) const override;
25 
27  const std::vector<VolumeSide>& faces() const override { return theFaces; }
28 
29  //-- FIXME
31  //--
32 
33 private:
34  std::vector<VolumeSide> theFaces;
39 };
40 
41 #endif
Scalar theZmax
Definition: MagCylinder.h:36
GloballyPositioned< float >::GlobalPoint GlobalPoint
Definition: MagVolume.h:18
const double tolerance
const std::vector< VolumeSide > & faces() const override
Access to volume faces.
Definition: MagCylinder.h:27
Scalar theInnerR
Definition: MagCylinder.h:37
GloballyPositioned< float >::LocalPoint LocalPoint
Definition: MagVolume.h:16
MagCylinder(const PositionType &pos, const RotationType &rot, const std::vector< VolumeSide > &faces, const MagneticFieldProvider< float > *mfp)
Definition: MagCylinder.cc:5
bool inside(const GlobalPoint &gp, double tolerance=0.) const override
Definition: MagCylinder.cc:38
Point3DBase< float, GlobalTag > PositionType
std::vector< VolumeSide > theFaces
Definition: MagCylinder.h:34
Scalar theOuterR
Definition: MagCylinder.h:38
std::string name
Definition: MagCylinder.h:30
Scalar theZmin
Definition: MagCylinder.h:35
TkRotation< float > RotationType