How to use util.Effect()

The util.Effect() wiki page isn’t very clear on the use of it, so I basically just used the example given on the wiki, but it does not work. Is there something else necessary in this that I am missing out on? Just to be more clear, I’m doing this inside of a SWEP, and this effect is sometimes created when shot.

         local effectdata = EffectData()
         effectdata:SetOrigin( Vector( 1, 1, 1 ))
         util.Effect( "TeslaZap", effectdata )

You need to configure the EffectData and when to run the effect. For example, the effect gets played here when you hit an entity:

function ENT:PhysicsCollide( data )
	if IsValid(data.HitEntity) then
		local effect = EffectData()
		effect:SetOrigin( data.HitPos )
		effect:SetNormal( data.HitNormal )
		effect:SetStart( data.HitPos )
		effect:SetEntity( ent )
		effect:SetMagnitude( 2 )
		util.Effect( "TeslaHitBoxes", effect, true, true )

Is there a place that I can find all of the effect data arguments?