mirror of
				https://github.com/paboyle/Grid.git
				synced 2025-11-04 14:04:32 +00:00 
			
		
		
		
	A "please implement me" feynman rule. If this were abstract virtual it would
require/force implementation
This commit is contained in:
		@@ -92,15 +92,16 @@ namespace Grid {
 | 
			
		||||
      virtual void  Mdir   (const FermionField &in, FermionField &out,int dir,int disp)=0;   // case by case Wilson, Clover, Cayley, ContFrac, PartFrac
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
      virtual void  MomentumSpacePropagator(FermionField &out,const FermionField &in) { assert(0);};
 | 
			
		||||
      virtual void  FreePropagator(const FermionField &in,FermionField &out) { 
 | 
			
		||||
      virtual void  MomentumSpacePropagator(FermionField &out,const FermionField &in,RealD _m) { assert(0);};
 | 
			
		||||
 | 
			
		||||
      virtual void  FreePropagator(const FermionField &in,FermionField &out,RealD mass) { 
 | 
			
		||||
	FFT theFFT((GridCartesian *) in._grid);
 | 
			
		||||
 | 
			
		||||
	FermionField in_k(in._grid);
 | 
			
		||||
	FermionField prop_k(in._grid);
 | 
			
		||||
 | 
			
		||||
	theFFT.FFT_all_dim(in_k,in,FFT::forward);
 | 
			
		||||
        this->MomentumSpacePropagator(prop_k,in_k);
 | 
			
		||||
        this->MomentumSpacePropagator(prop_k,in_k,mass);
 | 
			
		||||
	theFFT.FFT_all_dim(out,prop_k,FFT::backward);
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user