Docker-in-Docker (DinD) capabilities of public runners deactivated. More info

Commit b8c1a6a9 authored by Jean-Eric Campagne's avatar Jean-Eric Campagne
Browse files

(JEC) 29/4/15 use a ptr to LaguerreTransform in LaguerreSphericalTransform

parent b11375eb
......@@ -33,7 +33,7 @@ void LaguerreSphericalTransform::Synthesis(const vector< complex<r_8> >& flmn,
#endif
tstack_push("Laguerre MultiSynthesis");
lagTrans_.MultiSynthesis(flmn, flmk, Nalm_);
lagTrans_->MultiSynthesis(flmn, flmk, Nalm_);
tstack_pop("Laguerre MultiSynthesis");
......@@ -108,7 +108,7 @@ void LaguerreSphericalTransform::Analysis(const vector<r_8>& fijk,
tstack_push("Laguerre MultiAnalysis");
//Laguerre Transform
lagTrans_.MultiAnalysis(almk, flmn, Nalm_);
lagTrans_->MultiAnalysis(almk, flmn, Nalm_);
#if DEBUG >= 1
cout << "End Laguerre..." << endl;
......
......@@ -26,10 +26,10 @@ namespace LagSHT {
class LaguerreSphericalTransform {
public:
//! Constructor
LaguerreSphericalTransform(string spheregeom, int Lmax, int Mmax, int Nmax,
r_8 R, int Nrings = -1, int Nphi = -1, int alpha=2):
R_(R), lagTrans_(Nmax, R, alpha) {
R_(R) {
//Factory
if (spheregeom == "ECP" || spheregeom == "Fejer1") {
......@@ -43,36 +43,48 @@ class LaguerreSphericalTransform {
sphere_ = 0;
throw LagSHTError("LaguerreSphericalTransform::Ctor wrong geometry type");
}
lagTrans_ = new LaguerreTransform(Nmax, R, alpha);
//do the map pixelization
if(sphere_) {
//JEC sphere_->SetMap(Nrings, Nphi);
//store localy usefull parameters for the algorithms Analysis/Synthesis
Npix_ = sphere_->Npix();
Nalm_ = sphere_->Nalm();
N_ = lagTrans_.GetOrder();
alpha_= lagTrans_.GetAlpha();
} else {
throw LagSHTError("LaguerreSphericalTransform::Ctor sphere_ ptr NULL");
}
if(lagTrans_) {
N_ = lagTrans_->GetOrder();
alpha_= lagTrans_->GetAlpha();
} else {
throw LagSHTError("LaguerreSphericalTransform::Ctor lagtrans_ ptr NULL");
}
}//Ctor
//! Destructor
virtual ~LaguerreSphericalTransform() {
if(sphere_) delete sphere_;
sphere_ = 0;
if(sphere_) delete sphere_; sphere_ = 0;
if(lagTrans_) delete lagTrans_; lagTrans_ = 0;
}
//! Geometry helper
BaseGeometry* GetSphericalGeometry() const { return sphere_;}
//! Laguerre Transform helper
LaguerreTransform* GetLagTransform() const { return lagTrans_;}
//! Getters
int GetOrder() { return N_; }
int GetAlpha() { return alpha_;}
//! Laguerre Transform helper
//! Synthesis
/*! \brief Coeffs -> Pixels with Input/Output using T floating representation
\input flmn: 3D complex spherical-laguerre coefficients
......@@ -110,7 +122,7 @@ protected:
BaseGeometry* sphere_; //<! the 2D pixelization of the shells
LaguerreTransform lagTrans_; //!< the Laguerre Transform
LaguerreTransform* lagTrans_; //!< the Laguerre Transform
int Npix_; //!< Total number of 2D pixels
int Nalm_; //!< Total number of Alm coefficients
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment