Back to home page

sPhenix code displayed by LXR

 
 

    


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

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 /** @addtogroup genfit
0020  * @{
0021  */
0022 
0023 #ifndef genfit_GblTrackSegmentController_h
0024 #define genfit_GblTrackSegmentController_h
0025 
0026 #include "Track.h"
0027 #include "GblFitterInfo.h"
0028 
0029 #include <Math/ProbFunc.h>
0030 #include "GblTrajectory.h"
0031 #include "GblFitter.h"
0032 #include <TVector3.h>
0033 
0034 namespace genfit {
0035   
0036   class GblFitter;
0037   /**
0038    * @brief TrackSegmentController for use with GblFitter
0039    */
0040   class GblTrackSegmentController {
0041     
0042   public:
0043     
0044     GblTrackSegmentController() {;}
0045     
0046     virtual ~GblTrackSegmentController() {};
0047     
0048     /**
0049     * @brief Function called for each segment of trajectory. User can decide on MS options.
0050     *        This function must be implemented by the actual class deriving from this abstract class
0051     * @param entry Position of segment starting point
0052     * @param exit Position of segment ending point
0053     * @param scatTheta Total MS variance accumulated in this segment
0054     * @param fitter Pointer to the fitter - so you can set the MS options
0055     */
0056     virtual void controlTrackSegment(TVector3 entry, TVector3 exit, double scatTheta, GblFitter * fitter) = 0;
0057     
0058     virtual void Print(const Option_t* = "") const {;}
0059     
0060   protected:
0061     
0062   public:
0063     
0064     ClassDef(GblTrackSegmentController, 1)
0065     
0066   };
0067   
0068 } /* End of namespace genfit */
0069 /** @} */
0070 
0071 #endif // genfit_GblTrackSegmentController_h