Geant4 Cross Reference |
>> 1 // This code implementation is the intellectual property of >> 2 // the GEANT4 collaboration. 1 // 3 // 2 // ******************************************* << 4 // By copying, distributing or modifying the Program (or any work 3 // * License and Disclaimer << 5 // based on the Program) you indicate your acceptance of this statement, 4 // * << 6 // and all its terms. 5 // * The Geant4 software is copyright of th << 6 // * the Geant4 Collaboration. It is provided << 7 // * conditions of the Geant4 Software License << 8 // * LICENSE and available at http://cern.ch/ << 9 // * include a list of copyright holders. << 10 // * << 11 // * Neither the authors of this software syst << 12 // * institutes,nor the agencies providing fin << 13 // * work make any representation or warran << 14 // * regarding this software system or assum << 15 // * use. Please see the license in the file << 16 // * for the full disclaimer and the limitatio << 17 // * << 18 // * This code implementation is the result << 19 // * technical work of the GEANT4 collaboratio << 20 // * By using, copying, modifying or distri << 21 // * any work based on the software) you ag << 22 // * use in resulting scientific publicati << 23 // * acceptance of all terms of the Geant4 Sof << 24 // ******************************************* << 25 // 7 // 26 // G4GaussJacobiQ << 8 // $Id: G4GaussJacobiQ.hh,v 1.3 2000/11/20 17:26:42 gcosmo Exp $ >> 9 // GEANT4 tag $Name: geant4-03-01 $ 27 // 10 // 28 // Class description: 11 // Class description: 29 // 12 // 30 // Roots of ortogonal polynoms and correspondi 13 // Roots of ortogonal polynoms and corresponding weights are calculated based on 31 // iteration method (by bisection Newton algor 14 // iteration method (by bisection Newton algorithm). Constant values for initial 32 // approximations were derived from the book: << 15 // approximations were derived from the book: M. Abramowitz, I. Stegun, Handbook 33 // M. Abramowitz, I. Stegun, Handbook of mat << 16 // of mathematical functions, DOVER Publications INC, New York 1965 ; chapters 9, 34 // DOVER Publications INC, New York 1965 ; c << 17 // 10, and 22 . >> 18 // >> 19 // --------------------------------------------------------------------------- >> 20 // >> 21 // Constructor for Gauss-Jacobi integration method. >> 22 // >> 23 // G4GaussJacobiQ( function pFunction, >> 24 // G4double alpha, >> 25 // G4double beta, >> 26 // G4int nJacobi ) >> 27 // >> 28 // ---------------------------------------------------------------------------- >> 29 // >> 30 // Gauss-Jacobi method for integration of ((1-x)^alpha)*((1+x)^beta)*pFunction(x) >> 31 // from minus unit to plus unit . >> 32 // >> 33 // G4double Integral() const >> 34 >> 35 // ------------------------------- HISTORY ------------------------------------- >> 36 // >> 37 // 13.05.97 V.Grichine (Vladimir.Grichine@cern.chz0 35 38 36 // Author: V.Grichine, 13.05.1997 << 37 // ------------------------------------------- << 38 #ifndef G4GAUSSJACOBIQ_HH 39 #ifndef G4GAUSSJACOBIQ_HH 39 #define G4GAUSSJACOBIQ_HH 1 << 40 #define G4GAUSSJACOBIQ_HH 40 41 41 #include "G4VGaussianQuadrature.hh" 42 #include "G4VGaussianQuadrature.hh" 42 43 43 class G4GaussJacobiQ : public G4VGaussianQuadr 44 class G4GaussJacobiQ : public G4VGaussianQuadrature 44 { 45 { 45 public: << 46 public: 46 G4GaussJacobiQ(function pFunction, G4double << 47 // Constructor 47 G4int nJacobi); << 48 48 // Constructor for Gauss-Jacobi integration << 49 G4GaussJacobiQ( function pFunction, 49 << 50 G4double alpha, 50 G4GaussJacobiQ(const G4GaussJacobiQ&) = dele << 51 G4double beta, 51 G4GaussJacobiQ& operator=(const G4GaussJacob << 52 G4int nJacobi ) ; 52 << 53 53 G4double Integral() const; << 54 // Methods 54 // Gauss-Jacobi method for integration of << 55 55 // ((1-x)^alpha)*((1+x)^beta)*pFunction(x) f << 56 G4double Integral() const ; >> 57 >> 58 private: >> 59 >> 60 G4GaussJacobiQ(const G4GaussJacobiQ&); >> 61 G4GaussJacobiQ& operator=(const G4GaussJacobiQ&); 56 }; 62 }; 57 63 58 #endif 64 #endif 59 65