When the torpedo reached production status and was fielded (i.e. for operational use), Kriegsmarine gave it a short designation "T", or "Torpedonummer", with the number given in Roman lettering (TI, TII, TIII, TIV, etc.).
For different versions of the main torpedo, a small Arabic letter was added (for example TIIId, TVa etc.)
Warheads were designated with the letter "K" (K = short for Kopf, meaning "head") and a small Arabic letter, with an additional number denoting variants of the head (for instance changing the material composition from bronze to steel, adding/removing spants during the course of the war or the method of installing the explosives).
The explosive charge of warheads in German torpedoes during WW2, were different compositions of the Schießwolle (SW) that consisted mainly of a mixture of Trinitrotoluene (TNT) and Hexanitrodiphenylamin (HND): A total of 41 different types of explosive charges were used in German underwater ordnance, all given a "S"-number (1-41) for identification (only those relevant for torpedoes are listed here): List of Kriegsmarine warheads with weight/type of explosive charge: Pistols used the "Pi" designations to begin with (Pi = short for pistole).
The main booster charge used in German pistols was Pentrite, typically 300 g. The following torpedopistols reached operational status with Kriegsmarine during WW2: Code names were intended to be used only through the development period for security measures.
Torpedo pistols, program seeker-systems and other special arrangements also had their own "system" of code names, using the names of birds, fish or animals (for example Pi "Leuchtfisch", GA "Specht", seeker "Storch", control "Viper", target detector "Salamander" etc.).
Program steering was accomplished by a mechanical device ("Federapparat") coupled to the torpedo's gyroscope to alter its course in various pattern.
The "Lut-speed" (i.e. the resulting advance-speed of the torpedo, considering the zig-zag pattern) could be chosen, and subsequently, the straight legs between turns would be adjusted accordingly.