package ElectricalMultiLayer @ISA = qw() sub nLayer return shift->{nLayer}; sub pLayerArray return shift->{pLayerArray}; sub pLayer sub pLayer { my($this,$idx)= return $this->{pLayerArray}->[$idx]; sub SetLayerThickness my ($this, $idx, $Thickness) = @_; return $this->{"Thickness$idx"} = $Thickness; sub LayerThickness my ($this, $idx) = @_; return $this->{"Thickness$idx"}; sub pLayerThickness my ($this, $idx) = @_; return $p; sub SetTemperature my ($this, $T) = @_; return $this->pLayer($i)->SetTemperature($T); sub Temperature sub Temperature { my($this,$i)= return $this->pLayer($i)->Temperature(); sub SetCrossSectionArea sub SetCrossSectionArea { my($this,$S)= return $this->{S} = $S; sub CrossSectionArea return shift->{S}; sub SetVariable my ($this, $idx, $VarName, $val) = @_; return $pLayer->SetVariable($VarName, $val); sub pVariable my ($this, $idx, $VarName) = @_; return undef; return undef; return $p; sub new my ($module) = @_; return $this; sub DESTROY my $this = shift; sub Initialize my ($this) = @_; sub AddLayer my ($this, $pMaterial, $Thickness) = @_; return $this->{nLayer}++; sub PrintLayers my ($this) = @_;