/******************************************************************************** * Copyright (C) 2014 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH * * * * This software is distributed under the terms of the * * GNU Lesser General Public Licence version 3 (LGPL) version 3, * * copied verbatim in the file "LICENSE" * ********************************************************************************/ /** * File: PndMQSdsHitLoader.h * @since 2014-02-08 * @author: A. Rybalchenko, N. Winckler */ #ifndef PNDMQSDSHITLOADER_H #define PNDMQSDSHITLOADER_H #include #include #include #include #include #include #include "TMessage.h" #include "PndSdsHit.h" #include "FairMQSamplerTask.h" #include "FairMQLogger.h" #include "baseMQtools.h" using namespace std; class PndMQSdsHitLoader : public FairMQSamplerTask { public: PndMQSdsHitLoader() : FairMQSamplerTask("Load class PndSdsHit") , fDigiVector() , fHasBoostSerialization(false) { using namespace baseMQ::tools::resolve; // coverity[pointless_expression]: suppress coverity warnings on apparant if(const). if (is_same::value || is_same::value) { if (has_BoostSerialization::value == 1) { fHasBoostSerialization = true; } } } virtual ~PndMQSdsHitLoader() { if (fDigiVector.size() > 0) { fDigiVector.clear(); } } virtual void Exec(Option_t* opt); template void serialize(Archive& ar, const unsigned int version) { ar& fDigiVector; } private: friend class boost::serialization::access; vector fDigiVector; bool fHasBoostSerialization; }; #endif /* FAIRTESTDETECTORDIGILOADER_H */