src/Pulses/PulTrainSCyc.cc
/* These functions allow access and production of superoperator propagators
   over the pulse train supercycle steps.  They are generated from an input pulse
   waveform.  Its the waveform which contains individual step propagators.   */
These functions allow access and production of superoperator propagators
over the pulse train supercycle steps.  They are generated from an input pulse
waveform.  Its the waveform which contains individual step propagators.
These functions allow access and production of superoperator propagators over the pulse train supercycle steps . They are generated from an input pulse waveform . Its the waveform which contains individual step propagators .
void PulTrainSCyc::SetGs(PulCycle& PW)
  {
  if(!SCycnosteps) return;		
  if(!Gsteps)				
    Gsteps = new LSprop[SCycnosteps];	
LSprop Gbase;
  gen_op RZ;                            
  super_op GZ;                          
  double phi;                           
  for(int i=0; i<SCycnosteps; i++)
    {
    phi = DEG2RAD*SCycsteps.getRe(i);	
    RZ = exp((-complexi*phi)*PW.FZ());	 for phi
    GZ = U_transform(RZ);               
    Gsteps[i] = GZ*Gbase;		
    if(i) Gsteps[i] *= Gsteps[i-1];	
    }
  }
void PulTrainSCyc :: SetGs ( PulCycle & PW ) { if ( ! SCycnosteps ) return ; if ( ! Gsteps ) Gsteps = new LSprop [ SCycnosteps ] ; LSprop Gbase ; gen_op RZ ; super_op GZ ; double phi ; for ( int i = 0 ; i < SCycnosteps ; i ++ ) { phi = DEG2RAD * SCycsteps . getRe ( i ) ; RZ = exp ( ( - complexi * phi ) * PW . FZ ( ) ) ; GZ = U_transform ( RZ ) ; Gsteps [ i ] = GZ * Gbase ; if ( i ) Gsteps [ i ] *= Gsteps [ i - 1 ] ; } }
These functions allow access and production of superoperator propagators
over the pulse train supercycle steps.
These functions allow access and production of superoperator propagators over the pulse train supercycle steps .
// Input                PTSC	: A pulse train supercycle (this) //			PW	: A pulse waveform // Output               void	: Superpropagators for each step of //				  the pulse train supercycle are calculated // Note				: This demands that the Liouville //                                propagators have already been made //				  in the waveform. // Do nothing if no cycle steps defined // If no cycle step propagators // allocate space for them // sosix //  LSprop Gbase = PW.GetG();		// Begin with waveform propagator // Rotation operator // Rotation superoperator // Cycle step phase // Cycle step i phase (rad) // Rotation operator for phi // Rotation superopertor for phi // Phase the base propagator // Add in previous cycle steps