32#ifndef HURRICANE_TRANSISTOR_LAYER_H
33#define HURRICANE_TRANSISTOR_LAYER_H
37#include "hurricane/Layer.h"
38#include "hurricane/TransistorLayers.h"
46 class TransistorLayer :
public Layer {
60 virtual BasicLayers getBasicLayers ()
const;
61 virtual DbU::Unit getExtentionCap ()
const;
62 virtual DbU::Unit getExtentionWidth ()
const;
69 virtual void _toJson ( JsonWriter* )
const;
70 virtual void _onDbuChange (
float scale );
71 virtual string _getTypeName ()
const;
72 virtual string _getString ()
const;
73 virtual Record* _getRecord ()
const;
77 vector<BasicLayer*> _basicLayers;
78 vector<DbU::Unit> _extentionCaps;
79 vector<DbU::Unit> _extentionWidths;
98 class JsonTransistorLayer :
public JsonLayer {
100 static void initialize ();
101 JsonTransistorLayer (
unsigned long flags );
102 ~JsonTransistorLayer ();
103 virtual string getTypeName ()
const;
104 virtual JsonTransistorLayer* clone (
unsigned long )
const;
BasicLayer description (API)
Definition BasicLayer.h:42
std::int64_t Unit
Definition DbU.h:67
JSON Parser Stack.
Definition JsonObject.h:249
Name description (API)
Definition Name.h:35
Technological rules description (API).
Definition Technology.h:62
TransistorLayer description (API)
Definition TransistorLayer.h:46
static TransistorLayer * create(Technology *technology, const Name &name, BasicLayer *gateLayer, BasicLayer *activeLayer, BasicLayer *diffusionLayer, BasicLayer *wellLayer)
Contains Almost Everything.
Definition BasicLayer.h:39