GEAR  1.9.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Friends Pages
MeasurementSurface.h
1 #ifndef MEASUREMENTSURFACE_H
2 #define MEASUREMENTSURFACE_H
3 
4 #include <vector>
5 #include "IBoundary.h"
6 
8 namespace gear{
9 
10  class ICoordinateSystem;
11 
13 
14  public:
15 
16  MeasurementSurface( int ID, ICoordinateSystem* csys ): _ID( ID ), _coordinateSystem( csys ), _boundary(0) {}
17 
18  MeasurementSurface( int ID, ICoordinateSystem* csys ,IBoundary* boundary): _ID( ID ), _coordinateSystem( csys ), _boundary(boundary){}
19 
21 
22  int getID(){ return _ID; }
23  ICoordinateSystem* getCoordinateSystem() const { return _coordinateSystem; }
24 
25 
27  bool isLocalInBoundary( CLHEP::Hep3Vector local ) const ;
28 
30  bool isGlobalInBoundary( CLHEP::Hep3Vector global ) const ;
31 
32  private:
33 
34  int _ID{};
35  ICoordinateSystem* _coordinateSystem = nullptr ;
36 
37  IBoundary* _boundary = nullptr ;
38 
39  MeasurementSurface(const MeasurementSurface&){}; // copy constructor is private --> no cpoying allowed
40  MeasurementSurface& operator= (MeasurementSurface const&); // assignment not allowed either
41 
42 
43  };
44 
45 
46 } //end of gear namespace
47 
48 
49 #endif
bool isLocalInBoundary(CLHEP::Hep3Vector local) const
Checks if a point in local coordinates is within the boundaries.
bool isGlobalInBoundary(CLHEP::Hep3Vector global) const
Checks if a point in global coordinates is within the boundaries.
An abstract base class for coordinate systems.