/* Copyright 2008-2009, Technische Universitaet Muenchen, Authors: Christian Hoeppner & Sebastian Neubert & Johannes Rauch This file is part of GENFIT. GENFIT is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. GENFIT is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with GENFIT. If not, see . */ /** @addtogroup RKTrackRep * @{ */ #ifndef genfit_TGeoMaterialInterface_h #define genfit_TGeoMaterialInterface_h #include "AbsMaterialInterface.h" namespace genfit { /** * @brief AbsMaterialInterface implementation for use with ROOT's TGeoManager. */ class TGeoMaterialInterface : public AbsMaterialInterface { public: TGeoMaterialInterface(); ~TGeoMaterialInterface(){;}; /** @brief Initialize the navigator at given position and with given direction */ void initTrack(double posX, double posY, double posZ, double dirX, double dirY, double dirZ); /** @brief Get material parameters in current material */ void getMaterialParameters(double& density, double& Z, double& A, double& radiationLength, double& mEE); void getMaterialParameters(MaterialProperties& parameters); /** @brief Make a step (following the curvature) until maxStep or the next boundary is reached. * After making a step to a boundary, the position has to be beyond the boundary, * i.e. in the current material has to be that beyond the boundary. * The actual step made is returned. */ double findNextBoundary(const RKTrackRep* rep, const M1x7& state7, double sMax, bool varField = true); double findNextBoundaryAndStepStraight(double sMax); // ClassDef(TGeoMaterialInterface, 1); private: int whichNavig_; }; } /* End of namespace genfit */ /** @} */ #endif // genfit_TGeoMaterialInterface_h