Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:18:21

0001 /* Copyright 2008-2010, Technische Universitaet Muenchen,
0002    Authors: Christian Hoeppner & Sebastian Neubert & Johannes Rauch
0003 
0004    This file is part of GENFIT.
0005 
0006    GENFIT is free software: you can redistribute it and/or modify
0007    it under the terms of the GNU Lesser General Public License as published
0008    by the Free Software Foundation, either version 3 of the License, or
0009    (at your option) any later version.
0010 
0011    GENFIT is distributed in the hope that it will be useful,
0012    but WITHOUT ANY WARRANTY; without even the implied warranty of
0013    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0014    GNU Lesser General Public License for more details.
0015 
0016    You should have received a copy of the GNU Lesser General Public License
0017    along with GENFIT.  If not, see <http://www.gnu.org/licenses/>.
0018 */
0019 
0020 /** @addtogroup genfit
0021  * @{
0022  */
0023 
0024 #ifndef genfit_SharedPlanePtr_h
0025 #define genfit_SharedPlanePtr_h
0026 
0027 #include "DetPlane.h"
0028 
0029 #include <memory>
0030 
0031 
0032 namespace genfit {
0033 
0034 /**
0035  * @brief Shared Pointer to a DetPlane.
0036  *
0037  * Ownership can be shared, e.g between multiple StateOnPlane objects.
0038  * The DetPlane will automatically be deleted, if no owner remains.
0039  */
0040     typedef std::shared_ptr< genfit::DetPlane > SharedPlanePtr;
0041 
0042     /**
0043      * Class allowing to create a SharedPlanePtr from a DetPlane from Python.
0044      */
0045     class SharedPlanePtrCreator {
0046     public:
0047       /**
0048        * Function which allows to create a shared plane pointer from a DetPlane.
0049        * @param plane : A DetPlane.
0050        * @return SharedPlanePtr : A shared plane pointer to the provided plane.
0051        */
0052       static SharedPlanePtr getPlanePtr(DetPlane *plane) {
0053           return SharedPlanePtr(plane);
0054       }
0055     };
0056 
0057 } /* End of namespace genfit */
0058 /** @} */
0059 
0060 #endif // genfit_SharedPlanePtr_h