![]() |
|
|||
File indexing completed on 2025-08-05 08:18:28
0001 /* Copyright 2008-2009, 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_AbsMaterialInterface_h 0025 #define genfit_AbsMaterialInterface_h 0026 0027 #include "RKTrackRep.h" 0028 #include "Material.h" 0029 0030 #include <TObject.h> 0031 #include <TVector3.h> 0032 0033 0034 namespace genfit { 0035 0036 /** 0037 * @brief Abstract base class for geometry interfacing 0038 */ 0039 class AbsMaterialInterface : public TObject { 0040 0041 public: 0042 0043 AbsMaterialInterface() : debugLvl_(0) {;}; 0044 virtual ~AbsMaterialInterface(){;}; 0045 0046 /** @brief Initialize the navigator at given position and with given direction. Return true if volume changed. 0047 */ 0048 virtual bool initTrack(double posX, double posY, double posZ, 0049 double dirX, double dirY, double dirZ) = 0; 0050 0051 /*** 0052 * Get the material paramaters in the current material. 0053 * @return 0054 */ 0055 virtual Material getMaterialParameters() = 0; 0056 0057 /** @brief Make a step until maxStep or the next boundary is reached. 0058 * 0059 * After making a step to a boundary, the position has to be beyond the boundary, 0060 * i.e. in the current material has to be that beyond the boundary. 0061 * The actual step made is returned. 0062 */ 0063 virtual double findNextBoundary(const RKTrackRep* rep, 0064 const M1x7& state7, 0065 double sMax, 0066 bool varField = true) = 0; 0067 0068 virtual void setDebugLvl(unsigned int lvl = 1) {debugLvl_ = lvl;} 0069 0070 protected: 0071 unsigned int debugLvl_; 0072 0073 //ClassDef(AbsMaterialInterface, 1); 0074 0075 }; 0076 0077 } /* End of namespace genfit */ 0078 /** @} */ 0079 0080 #endif // genfit_AbsMaterialInterface_h
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |