GeoModel - GeoModelCore
GeoPVLink.h
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef GEOMODELKERNEL_GEOPVLINK_H
6 #define GEOMODELKERNEL_GEOPVLINK_H
7 
14 #include "GeoModelKernel/GeoPVConstLink.h"
15 
16 class GeoPVLink : public GeoPVConstLink
17 {
18  public:
19  GeoPVLink();
20  GeoPVLink(const GeoPVLink &right);
21  GeoPVLink (const GeoVPhysVol *addr);
22 
23  virtual ~GeoPVLink();
24 
25  // Dereference this smart pointer, like a regular pointer.
26  virtual GeoVPhysVol & operator * ();
27 
28  // Allow use of smartPointer->operation().....
29  virtual GeoVPhysVol * operator -> ();
30 
31  // Dereference this smart pointer, like a regular pointer.
32  virtual const GeoVPhysVol & operator * () const;
33 
34  // Allow use of smartPointer->operation().....
35  virtual const GeoVPhysVol * operator -> () const;
36 
37  // Assignment operator.
38  GeoPVLink& operator = (const GeoPVLink& right);
39 };
40 
41 
42 #endif