CLHEP VERSION Reference Documentation
   
CLHEP Home Page     CLHEP Documentation     CLHEP Bug Reports

CLHEP/GenericFunctions/LegendreExpansion.hh
Go to the documentation of this file.
1 // -*- C++ -*-
2 // $Id:
3 //---------------------SphericalHarmonicExpansion---------------------------//
4 // //
5 // Class LegendreExpansion This is an expansion in terms of a super //
6 // position of N legendre polynomials. //
7 //--------------------------------------------------------------------------//
8 #ifndef LegendreExpansion_h
9 #define LegendreExpansion_h
13 namespace Genfun {
14 
19  class LegendreExpansion : public AbsFunction {
20 
22 
23  public:
24 
25  enum Type {REAL,IMAG,MAG, MAGSQ};
26 
27  // Constructor. Builds all the
28  LegendreExpansion(Type type, const LegendreCoefficientSet & coefficients);
29 
30  // Copy constructor
32 
33  // Destructor
34  virtual ~LegendreExpansion();
35 
36  // Retreive function value
37  virtual double operator ()(double argument) const;
38  virtual double operator ()(const Argument & a) const {return operator() (a[0]);}
39  // Get the expansion coefficients:
40  const LegendreCoefficientSet & coefficientSet() const;
41 
42  private:
43 
44  // It is illegal to assign an adjustable constant
45  const LegendreExpansion & operator=(const LegendreExpansion &right);
46 
47 
48  class Clockwork;
49  Clockwork *c;
50 
51  };
52 } // namespace Genfun
53 
54 
55 
56 #include "CLHEP/GenericFunctions/LegendreExpansion.icc"
57 #endif
a
@ a
Definition: testCategories.cc:125
Parameter.hh
Genfun::AbsFunction
Definition: CLHEP/GenericFunctions/AbsFunction.hh:48
Genfun::LegendreExpansion::MAGSQ
@ MAGSQ
Definition: CLHEP/GenericFunctions/LegendreExpansion.hh:25
AbsFunction.hh
Genfun::LegendreExpansion::Type
Type
Definition: CLHEP/GenericFunctions/LegendreExpansion.hh:25
LegendreCoefficientSet.hh
type
Signatures of Hep3Vector::rotate For equivalent ZOOM axis There is no harm in leaving this axis CLHEP has implemented a first forming an identity then rotating that by axis and I leave the CLHEP code alone people are of course free to use the ZOOM originated method with signature which I believe will be faster Return types for rotateZ CLHEP and PhysicsVectors each have these three and they are identical except that the ZOOM version returns a reference to while in CLHEP they return void Having methods that alter an object return a reference to that object is convenient for certain chained and costs nothing I don t wish to potentially break ZOOM user code for no good so I have made these CLHEP method conform to this convention There are a couple of other CLHEP rotate and which use the void return type
Definition: minorMergeIssues.doc:113
Genfun::LegendreExpansion::operator()
virtual double operator()(double argument) const
Genfun::LegendreExpansion::IMAG
@ IMAG
Definition: CLHEP/GenericFunctions/LegendreExpansion.hh:25
Genfun::LegendreExpansion::REAL
@ REAL
Definition: CLHEP/GenericFunctions/LegendreExpansion.hh:25
Genfun::Argument
Definition: CLHEP/GenericFunctions/Argument.hh:17
Genfun::LegendreExpansion::MAG
@ MAG
Definition: CLHEP/GenericFunctions/LegendreExpansion.hh:25
Genfun::LegendreExpansion::~LegendreExpansion
virtual ~LegendreExpansion()
Genfun::LegendreCoefficientSet
Definition: CLHEP/GenericFunctions/LegendreCoefficientSet.hh:6
Genfun::LegendreExpansion::LegendreExpansion
LegendreExpansion(Type type, const LegendreCoefficientSet &coefficients)
Genfun::LegendreExpansion
Definition: CLHEP/GenericFunctions/LegendreExpansion.hh:19
FUNCTION_OBJECT_DEF
#define FUNCTION_OBJECT_DEF(classname)
Definition: CLHEP/GenericFunctions/AbsFunction.hh:144
Genfun::LegendreExpansion::coefficientSet
const LegendreCoefficientSet & coefficientSet() const
Genfun
Definition: CLHEP/GenericFunctions/Abs.hh:14