Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001 /* Copyright 2008-2014, 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 RKTrackRep
0021  * @{
0022  */
0023 
0024 #ifndef genfit_TGeoMaterialInterface_h
0025 #define genfit_TGeoMaterialInterface_h
0026 
0027 #include "AbsMaterialInterface.h"
0028 
0029 
0030 namespace genfit {
0031 
0032 /**
0033  * @brief AbsMaterialInterface implementation for use with ROOT's TGeoManager.
0034  */
0035 class TGeoMaterialInterface : public AbsMaterialInterface {
0036 
0037  public:
0038 
0039   TGeoMaterialInterface() {};
0040   ~TGeoMaterialInterface(){;};
0041 
0042   /** @brief Initialize the navigator at given position and with given
0043       direction.  Returns true if the volume changed.
0044    */
0045   bool initTrack(double posX, double posY, double posZ,
0046                  double dirX, double dirY, double dirZ) override;
0047 
0048   Material getMaterialParameters() override;
0049 
0050   /** @brief Make a step (following the curvature) until step length
0051    * sMax or the next boundary is reached.  After making a step to a
0052    * boundary, the position has to be beyond the boundary, i.e. the
0053    * current material has to be that beyond the boundary.  The actual
0054    * step made is returned.
0055    */
0056   double findNextBoundary(const RKTrackRep* rep,
0057                           const M1x7& state7,
0058                           double sMax,
0059                           bool varField = true) override;
0060 
0061   // ClassDefOverride(TGeoMaterialInterface, 1);
0062 
0063  private:
0064 };
0065 
0066 } /* End of namespace genfit */
0067 /** @} */
0068 
0069 #endif // genfit_TGeoMaterialInterface_h