Qucs-core  0.0.19
component_id.h
Go to the documentation of this file.
00001 /*
00002  * component_id.h - global component identifier header file
00003  *
00004  * Copyright (C) 2003-2011 Stefan Jahn <stefan@lkcc.org>
00005  *
00006  * This is free software; you can redistribute it and/or modify
00007  * it under the terms of the GNU General Public License as published by
00008  * the Free Software Foundation; either version 2, or (at your option)
00009  * any later version.
00010  *
00011  * This software is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014  * GNU General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU General Public License
00017  * along with this package; see the file COPYING.  If not, write to
00018  * the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
00019  * Boston, MA 02110-1301, USA.
00020  *
00021  * $Id$
00022  *
00023  */
00024 
00025 #ifndef __COMPONENT_ID_H__
00026 #define __COMPONENT_ID_H__
00027 
00028 namespace qucs {
00029 
00030 /* Enumerate component type identifiers. */
00031 enum circuit_type {
00032   CIR_UNKNOWN = -1,
00033 
00034   // linear helper components
00035   CIR_GROUND,
00036   CIR_OPEN,
00037   CIR_SHORT,
00038   CIR_TEE,
00039   CIR_CROSS,
00040   CIR_ITRAFO,
00041 
00042   // linear components
00043   CIR_RESISTOR,
00044   CIR_CAPACITOR,
00045   CIR_INDUCTOR,
00046   CIR_MUTUAL,
00047   CIR_MUTUAL2,
00048   CIR_MUTUALX,
00049   CIR_VCCS,
00050   CIR_CCCS,
00051   CIR_CCVS,
00052   CIR_VCVS,
00053   CIR_DCBLOCK,
00054   CIR_DCFEED,
00055   CIR_BIASTEE,
00056   CIR_PAC,
00057   CIR_ATTENUATOR,
00058   CIR_CIRCULATOR,
00059   CIR_ISOLATOR,
00060   CIR_TRAFO,
00061   CIR_STRAFO,
00062   CIR_VDC,
00063   CIR_IDC,
00064   CIR_VAC,
00065   CIR_IAC,
00066   CIR_VEXP,
00067   CIR_IEXP,
00068   CIR_VFILE,
00069   CIR_IFILE,
00070   CIR_VAM,
00071   CIR_VPM,
00072   CIR_PHASESHIFTER,
00073   CIR_GYRATOR,
00074   CIR_TSWITCH,
00075   CIR_RELAIS,
00076   CIR_TLINE,
00077   CIR_CTLINE,
00078   CIR_COAXLINE,
00079   CIR_RECTANGULAR,
00080   CIR_TWISTEDPAIR,
00081   CIR_TLINE4P,
00082   CIR_RLCG,
00083   CIR_IPROBE,
00084   CIR_VPROBE,
00085   CIR_SPFILE,
00086   CIR_VPULSE,
00087   CIR_IPULSE,
00088   CIR_VRECT,
00089   CIR_IRECT,
00090   CIR_AMPLIFIER,
00091   CIR_COUPLER,
00092   CIR_HYBRID,
00093   CIR_RFEDD,
00094 
00095   // noise sources
00096   CIR_VNOISE,
00097   CIR_INOISE,
00098   CIR_IINOISE,
00099   CIR_IVNOISE,
00100   CIR_VVNOISE,
00101 
00102   // microstrip components
00103   CIR_MSLINE,
00104   CIR_MSCORNER,
00105   CIR_MSMBEND,
00106   CIR_MSSTEP,
00107   CIR_MSOPEN,
00108   CIR_MSGAP,
00109   CIR_MSCOUPLED,
00110   CIR_MSLANGE,
00111   CIR_MSTEE,
00112   CIR_MSCROSS,
00113   CIR_MSVIA,
00114   CIR_MSRSTUB,
00115   CIR_BONDWIRE,
00116 
00117   // coplanar components
00118   CIR_CPWLINE,
00119   CIR_CPWOPEN,
00120   CIR_CPWSHORT,
00121   CIR_CPWGAP,
00122   CIR_CPWSTEP,
00123 
00124   // non-linear components
00125   CIR_OPAMP,
00126   CIR_DIODE,
00127   CIR_JFET,
00128   CIR_BJT,
00129   CIR_MOSFET,
00130   CIR_EQNDEFINED,
00131   CIR_DIAC,
00132   CIR_TRIAC,
00133   CIR_THYRISTOR,
00134   CIR_TUNNELDIODE,
00135 
00136   // digital components
00137   CIR_INVERTER,
00138   CIR_NOR,
00139   CIR_OR,
00140   CIR_NAND,
00141   CIR_AND,
00142   CIR_XNOR,
00143   CIR_XOR,
00144   CIR_DIGISOURCE,
00145   CIR_BUFFER,
00146 
00147   // verilog devices
00148   CIR_HBT_X,
00149   CIR_hicumL2V2p1,
00150   CIR_mod_amp,
00151   CIR_hic2_full,
00152   CIR_log_amp,
00153   CIR_hic0_full,
00154   CIR_potentiometer,
00155   CIR_MESFET,
00156   CIR_EKV26MOS,
00157   CIR_hicumL0V1p2,
00158   CIR_hicumL0V1p2g,
00159   CIR_hicumL0V1p3,
00160   CIR_hicumL2V2p23,
00161   CIR_hicumL2V2p24,
00162   CIR_photodiode,
00163   CIR_phototransistor,
00164   CIR_nigbt,
00165 
00166   // digital verilog devices
00167   CIR_dff_SR,
00168   CIR_tff_SR,
00169   CIR_jkff_SR,
00170   CIR_gatedDlatch,
00171   CIR_logic_1,
00172   CIR_logic_0,
00173   CIR_mux2to1,
00174   CIR_mux4to1,
00175   CIR_mux8to1,
00176   CIR_DLS_nto1,
00177   CIR_DLS_1ton,
00178   CIR_andor4x2,
00179   CIR_andor4x3,
00180   CIR_andor4x4,
00181   CIR_dmux2to4,
00182   CIR_dmux3to8,
00183   CIR_dmux4to16,
00184   CIR_ha1b,
00185   CIR_fa1b,
00186   CIR_fa2b,
00187   CIR_pad2bit,
00188   CIR_pad3bit,
00189   CIR_pad4bit,
00190   CIR_binarytogrey4bit,
00191   CIR_greytobinary4bit,
00192   CIR_comp_1bit,
00193   CIR_comp_2bit,
00194   CIR_comp_4bit,
00195   CIR_hpribin4bit,
00196 
00197   // external interface components
00198   CIR_ECVS,
00199 
00200 };
00201 
00202 } // namespace qucs
00203 
00204 #endif /* __COMPONENT_ID_H__ */