From 45270a5aee71cffcb8f4698f3e8908b5d3b75f4d Mon Sep 17 00:00:00 2001 From: Florian Uhlig <f.uhlig@gsi.de> Date: Mon, 20 Dec 2021 12:53:13 +0100 Subject: [PATCH] Remove ROOT dependencies Use std::string instead of TString to format log output. --- core/data/psd/CbmPsdDigi.cxx | 17 ++++++++++------- core/data/tof/CbmTofDigi.cxx | 16 ++++++++++------ 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/core/data/psd/CbmPsdDigi.cxx b/core/data/psd/CbmPsdDigi.cxx index c790ae4b5b..b436c44cbf 100644 --- a/core/data/psd/CbmPsdDigi.cxx +++ b/core/data/psd/CbmPsdDigi.cxx @@ -11,11 +11,9 @@ #include "CbmPsdDigi.h" -#include <TBuffer.h> // for TBuffer -#include <TClass.h> // for CbmPsdDigi::IsA() -#include <TString.h> // for Form, TString - -#include <string> // for basic_string +#include <iomanip> // for hex, setw, setfill, fixed, setprecission +#include <sstream> // for operator<<, basic_ostream, char_trait +#include <string> // for basic_string // --- Copy constructor CbmPsdDigi::CbmPsdDigi(const CbmPsdDigi& other) : fuAddress(other.fuAddress), fdTime(other.fdTime), fdEdep(other.fdEdep) @@ -37,8 +35,13 @@ void CbmPsdDigi::SetAddress(uint32_t moduleId, uint32_t sectionId) // --- Info to string std::string CbmPsdDigi::ToString() const { - TString string = Form("CbmPsdDigi: address = 0x%08X Charge = %f Time = %f", fuAddress, fdEdep, fdTime); - return string.Data(); + // Example output + // CbmPsdDigi: address = 0x00001018 Charge = 0.011590 Time = 1006.438294 + + std::stringstream ss; + ss << "CbmPsdDigi: address = 0x" << std::uppercase << std::hex << std::setw(8) << std::setfill('0') << fuAddress + << " Charge = " << std::fixed << std::setprecision(6) << fdEdep << " Time = " << fdTime; + return ss.str(); } #ifndef NO_ROOT diff --git a/core/data/tof/CbmTofDigi.cxx b/core/data/tof/CbmTofDigi.cxx index 3f31bcc036..e152658816 100644 --- a/core/data/tof/CbmTofDigi.cxx +++ b/core/data/tof/CbmTofDigi.cxx @@ -10,9 +10,9 @@ **/ #include "CbmTofDigi.h" -#include <TString.h> // for Form, TString - -#include <string> // for basic_string +#include <iomanip> // for hex, setw, setfill, fixed, setprecission +#include <sstream> // for operator<<, basic_ostream, char_trait +#include <string> // for basic_string CbmTofDigi::CbmTofDigi() : fdTime(0.), fdTot(-1.), fuAddress(0) // fMatch(nullptr) @@ -39,11 +39,15 @@ CbmTofDigi::~CbmTofDigi() // if ( fMatch ) delete fMatch; } - std::string CbmTofDigi::ToString() const { - TString string = Form("CbmTofDigi: address = 0x%08X time = %f tot = %f", fuAddress, fdTime, fdTot); - return string.Data(); + // Example Output i + // CbmTofDigi: address = 0x05020026 time = 1017.181900 tot = 1.221741 + + std::stringstream ss; + ss << "CbmTofDigi: address = 0x" << std::uppercase << std::hex << std::setw(8) << std::setfill('0') << fuAddress + << " time = " << std::fixed << std::setprecision(6) << fdTime << " tot = " << fdTot; + return ss.str(); } void CbmTofDigi::SetAddress(uint32_t Sm, uint32_t Rpc, uint32_t Channel, uint32_t Side, uint32_t SmType) -- GitLab