Loading src/modules/NetlistWriter/NetlistWriterModule.cpp +4 −4 Original line number Diff line number Diff line Loading @@ -216,7 +216,7 @@ void NetlistWriterModule::run(Event* event) { for(auto bin = pulse.begin(); bin != pulse.end(); ++bin) { auto time = step * static_cast<double>(std::distance(pulse.begin(), bin)) * 1e-9; double current_bin = *bin / step; double current = current_bin * nanoCoulomb_; auto current = Units::convert(current_bin, "nC"); file << std::setprecision(15) << time << " " << current << (bin < pulse.end() - 1 ? " " : ""); } Loading @@ -227,12 +227,12 @@ void NetlistWriterModule::run(Event* event) { } else if(source_type_ == SourceType::ISOURCE_PULSE) { i_diode_ = (inputcharge * nanoCoulomb_) / (rise_ / 2 + width_ + fall_ / 2); auto i_diode = Units::convert(inputcharge, "nC") / (rise_ / 2 + width_ + fall_ / 2); (target_ == Target::SPECTRE) ? (file << ") isource type=pulse val0=0 val1=" << i_diode_ << " delay=" << delay_ << "n rise=" << rise_ ? (file << ") isource type=pulse val0=0 val1=" << i_diode << " delay=" << delay_ << "n rise=" << rise_ << "n fall=" << fall_ << "n width=" << width_ << "n\n") : (file << "PULSE(0 " << i_diode_ << " " << delay_ << "n " << rise_ << "n " << fall_ << "n " << width_ : (file << "PULSE(0 " << i_diode << " " << delay_ << "n " << rise_ << "n " << fall_ << "n " << width_ << "n)\n"); } Loading src/modules/NetlistWriter/NetlistWriterModule.hpp +0 −2 Original line number Diff line number Diff line Loading @@ -101,7 +101,5 @@ namespace allpix { std::string subckt_name_; size_t subckt_line_number_ = 0; size_t source_line_number_ = 0; double nanoCoulomb_ = 1.6e-10; double i_diode_ = 0; }; } // namespace allpix src/tools/units.h +1 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,7 @@ namespace allpix { Units::add("e", 1); Units::add("ke", 1e3); Units::add("fC", 1 / 1.602176634e-4); Units::add("nC", 1 / 1.602176634e-10); Units::add("C", 1 / 1.602176634e-19); // VOLTAGE Loading Loading
src/modules/NetlistWriter/NetlistWriterModule.cpp +4 −4 Original line number Diff line number Diff line Loading @@ -216,7 +216,7 @@ void NetlistWriterModule::run(Event* event) { for(auto bin = pulse.begin(); bin != pulse.end(); ++bin) { auto time = step * static_cast<double>(std::distance(pulse.begin(), bin)) * 1e-9; double current_bin = *bin / step; double current = current_bin * nanoCoulomb_; auto current = Units::convert(current_bin, "nC"); file << std::setprecision(15) << time << " " << current << (bin < pulse.end() - 1 ? " " : ""); } Loading @@ -227,12 +227,12 @@ void NetlistWriterModule::run(Event* event) { } else if(source_type_ == SourceType::ISOURCE_PULSE) { i_diode_ = (inputcharge * nanoCoulomb_) / (rise_ / 2 + width_ + fall_ / 2); auto i_diode = Units::convert(inputcharge, "nC") / (rise_ / 2 + width_ + fall_ / 2); (target_ == Target::SPECTRE) ? (file << ") isource type=pulse val0=0 val1=" << i_diode_ << " delay=" << delay_ << "n rise=" << rise_ ? (file << ") isource type=pulse val0=0 val1=" << i_diode << " delay=" << delay_ << "n rise=" << rise_ << "n fall=" << fall_ << "n width=" << width_ << "n\n") : (file << "PULSE(0 " << i_diode_ << " " << delay_ << "n " << rise_ << "n " << fall_ << "n " << width_ : (file << "PULSE(0 " << i_diode << " " << delay_ << "n " << rise_ << "n " << fall_ << "n " << width_ << "n)\n"); } Loading
src/modules/NetlistWriter/NetlistWriterModule.hpp +0 −2 Original line number Diff line number Diff line Loading @@ -101,7 +101,5 @@ namespace allpix { std::string subckt_name_; size_t subckt_line_number_ = 0; size_t source_line_number_ = 0; double nanoCoulomb_ = 1.6e-10; double i_diode_ = 0; }; } // namespace allpix
src/tools/units.h +1 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,7 @@ namespace allpix { Units::add("e", 1); Units::add("ke", 1e3); Units::add("fC", 1 / 1.602176634e-4); Units::add("nC", 1 / 1.602176634e-10); Units::add("C", 1 / 1.602176634e-19); // VOLTAGE Loading