From 1dcdde7bf5a2aee2f91c0ebb83697afbe20be30d Mon Sep 17 00:00:00 2001 From: Guilhem Lavaux Date: Thu, 7 Mar 2013 09:39:10 -0600 Subject: [PATCH] Fixlet to gadget writer and use std::string instead of char * --- src/loadGadget.cpp | 10 +++++----- src/loadGadget.hpp | 4 +++- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/loadGadget.cpp b/src/loadGadget.cpp index a824d28..7dab5ab 100644 --- a/src/loadGadget.cpp +++ b/src/loadGadget.cpp @@ -274,10 +274,10 @@ SimuData *CosmoTool::loadGadgetMulti(const char *fname, int id, int loadflags, i -void CosmoTool::writeGadget(const char *fname, SimuData *data, int GadgetFormat) +void CosmoTool::writeGadget(const std::string& fname, SimuData *data, int GadgetFormat) { UnformattedWrite *f; - int npart[6]; + int npart[6], npartTotal[6]; float mass[6]; if (data->Pos[0] == 0 || data->Vel[0] == 0 || data->Id == 0) @@ -289,12 +289,12 @@ void CosmoTool::writeGadget(const char *fname, SimuData *data, int GadgetFormat) for (int i = 0; i < 6; i++) { - npart[i] = 0; + npart[i] = npartTotal[i] = 0; mass[i] = 0; } mass[1] = 1.0; - npart[1] = data->NumPart; + npartTotal[1] = data->TotalNumPart; f->beginCheckpoint(); for (int i = 0; i < 6; i++) @@ -308,7 +308,7 @@ void CosmoTool::writeGadget(const char *fname, SimuData *data, int GadgetFormat) f->writeInt32(0); for (int i = 0; i < 6; i++) - f->writeInt32(npart[i]); + f->writeInt32(npartTotal[i]); f->writeInt32(0); f->writeInt32(1); f->writeReal64(data->BoxSize); diff --git a/src/loadGadget.hpp b/src/loadGadget.hpp index 69f0ea6..eec0fc9 100644 --- a/src/loadGadget.hpp +++ b/src/loadGadget.hpp @@ -1,6 +1,8 @@ #ifndef __COSMO_LOAD_GADGET_HPP #define __COSMO_LOAD_GADGET_HPP +#include + #include "load_data.hpp" #include "loadSimu.hpp" @@ -11,7 +13,7 @@ namespace CosmoTool { SimuData *loadGadgetMulti(const char *fname, int id, int flags, int GadgetFormat = 1); // Only single snapshot supported - void writeGadget(const char *fname, SimuData *data, int GadgetFormat = 1); + void writeGadget(const std::string& fname, SimuData *data, int GadgetFormat = 1); };