There's no separate file for weapons, the file for all ship components is ShipComponentDefs.xml in the data/game folder. In practice it's pretty easy to add new weapons, just copy over the ShipComponentDefs.xml file to your mod, rename it, then clean it out for everything except the top bit:
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<ShipComponentList
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="../Schema/ShipComponentDefs.xsd">
<!-- Created with the Gal Civ 3 Editor -->
<!-- ShipComponentDefs.xml -->
After that you can start to put in your own weapons, just follow the syntax of the data schema. 
Like this:
<ShipComponent>
<InternalName>PrototypeEleriumWeapon</InternalName>
<DisplayName>PrototypeEleriumWeapon_Name</DisplayName>
<Description>PrototypeEleriumWeapon_Dec</Description>
<ArtDefine>WeaponModel_30</ArtDefine>
<Category>Weapons</Category>
<Type>BeamWeaponEnhanced</Type>
<PlacementType>Weapon</PlacementType>
<WeaponFX>
<EmissionFX>BeamPhasor_Emission</EmissionFX>
<ProjectionFX>BeamPhasor</ProjectionFX>
<HitFX>BeamPhasor_Hit</HitFX>
<DeflectionFX>BeamPhasor_Deflection</DeflectionFX>
</WeaponFX>
<Stats>
<EffectType>Threat</EffectType>
<Target>
<TargetType>Ship</TargetType>
</Target>
<BonusType>Flat</BonusType>
<Value>1</Value>
</Stats>
<Stats>
<EffectType>BeamManufacturingCost</EffectType>
<Scope>Queue</Scope>
<Target>
<TargetType>Ship</TargetType>
</Target>
<BonusType>Flat</BonusType>
<Value>18</Value>
</Stats>
<Stats>
<EffectType>BeamMass</EffectType>
<Target>
<TargetType>Ship</TargetType>
</Target>
<BonusType>Flat</BonusType>
<Value>12</Value>
</Stats>
<Stats>
<EffectType>BeamWeapon</EffectType>
<Target>
<TargetType>Ship</TargetType>
</Target>
<BonusType>Flat</BonusType>
<Value>1</Value>
</Stats>
<Stats>
<EffectType>BeamAttack</EffectType>
<Target>
<TargetType>Ship</TargetType>
</Target>
<BonusType>Flat</BonusType>
<Value>16</Value>
</Stats>
<Stats>
<EffectType>Maintenance</EffectType>
<Target>
<TargetType>Ship</TargetType>
</Target>
<BonusType>Flat</BonusType>
<Value>0.25</Value>
</Stats>
<Stats>
<EffectType>EleriumCost</EffectType>
<Target>
<TargetType>Ship</TargetType>
</Target>
<BonusType>Flat</BonusType>
<Value>1</Value>
</Stats>
<Prerequ>
<Techs>
<Option>WeaponsSystemsTech</Option>
</Techs>
</Prerequ>
</ShipComponent>
Do note that you need to give things a unique internal name.