Changeset 957 for trunk/src/STPolLinear.cpp
- Timestamp:
- 03/31/06 17:01:45 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/STPolLinear.cpp
r911 r957 30 30 Vector<Float> asap::STPolLinear::getStokes( uint index ) 31 31 { 32 cout << "debug asap::STPolLinear::getStokes" << endl;33 32 if ( index < 0 || index >4 ) throw(AipsError("Stokes index out of range")); 34 33 Vector<Float> out; 35 cout << nspec() << endl; 34 Float phase = getTotalPhase(); 35 Vector<Float> q(getSpectrum(0) - getSpectrum(1)); 36 36 if ( nspec() == 4 ) { 37 37 switch(index) { 38 38 case 0: 39 out = Vector<Float>(getSpectrum(0) + getSpectrum(1)) * Float(0.5);39 out = Vector<Float>(getSpectrum(0) + getSpectrum(1)); 40 40 break; 41 41 case 1: 42 out = Vector<Float>( getSpectrum(0) - getSpectrum(1)) * Float(0.5);42 out = Vector<Float>(q * cos(phase) - getSpectrum(2) * sin(phase)); 43 43 break; 44 default: 45 out =Vector<Float>(getSpectrum(index)); 44 case 2: 45 out = Vector<Float>(q * sin(phase) + getSpectrum(2) * cos(phase)); 46 break; 47 case 3: 48 cout << getFeedHand() << endl; 49 out = getFeedHand() * Vector<Float>(getSpectrum(3)); 50 break; 46 51 } 47 52 } … … 52 57 { 53 58 if ( index < 0 || index >4 ) throw(AipsError("LinPol index out of range")); 54 Vector<Float> out,q ;59 Vector<Float> out,q,u; 55 60 if ( nspec() == 4) { 56 61 switch(index) { 57 62 case 1: 58 q = getStokes(index); 59 out = Vector<Float>(sqrt(pow(q,Float(2.0))+pow(getSpectrum(2), Float(2.0)))); 63 q = getStokes(1); 64 u = getStokes(2); 65 out = Vector<Float>(sqrt(pow(q,Float(2.0))+pow(u, Float(2.0)))); 60 66 break; 61 67 case 2: 62 68 q = getStokes(index); 63 out = Vector<Float>(Float(180.0/C::pi/2.0) * atan2(getSpectrum(2),q)); 69 u = getStokes(2); 70 out = Vector<Float>(Float(180.0/C::pi/2.0) * atan2(u,q)); 64 71 break; 65 72 default: … … 88 95 switch(index) { 89 96 case 0: 90 out = (I + V) /Float(2.0);97 out = (I + V); 91 98 break; 92 99 case 1: 93 out = (I - V) /Float(2.0);100 out = (I - V); 94 101 break; 95 102 default:
Note: See TracChangeset
for help on using the changeset viewer.