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 : public MagVolume {
17 public:
18 
19  MagCylinder( const PositionType& pos, const RotationType& rot,
20  DDSolidShape shape, 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 
35  std::vector<VolumeSide> theFaces;
40 
41 };
42 
43 #endif
Scalar theZmax
Definition: MagCylinder.h:37
GloballyPositioned< float >::GlobalPoint GlobalPoint
Definition: MagVolume.h:20
DDSolidShape
Definition: DDSolidShapes.h:6
Scalar theInnerR
Definition: MagCylinder.h:38
GloballyPositioned< float >::LocalPoint LocalPoint
Definition: MagVolume.h:18
bool inside(const GlobalPoint &gp, double tolerance=0.) const override
Definition: MagCylinder.cc:43
MagCylinder(const PositionType &pos, const RotationType &rot, DDSolidShape shape, const std::vector< VolumeSide > &faces, const MagneticFieldProvider< float > *mfp)
Definition: MagCylinder.cc:8
std::vector< VolumeSide > theFaces
Definition: MagCylinder.h:35
Scalar theOuterR
Definition: MagCylinder.h:39
std::string name
Definition: MagCylinder.h:30
Scalar theZmin
Definition: MagCylinder.h:36
const std::vector< VolumeSide > & faces() const override
Access to volume faces.
Definition: MagCylinder.h:27