/******************************************************************************** * 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" * ********************************************************************************/ /** * FairMQEx9Sampler.h * * @since 2016-03-08 * @author R. Karabowicz */ #ifndef PndMvdMQFileSampler_H_ #define PndMvdMQFileSampler_H_ #include #include "TClonesArray.h" #include "FairFileSource.h" #include "FairRunAna.h" #include "FairMQDevice.h" class PndMvdMQFileSampler : public FairMQDevice { public: enum { InputFileName = FairMQDevice::Last, Last }; PndMvdMQFileSampler(); virtual ~PndMvdMQFileSampler(); void AddInputFileName (std::string tempString) { fFileNames .push_back(tempString);} void AddInputChannelBranchName(std::pair tempString) { fBranchNames.push_back(tempString); fPorts.insert(tempString.first); } void SetMaxIndex(int64_t tempInt) {fMaxIndex=tempInt;} protected: virtual void Run(); virtual void InitTask(); private: FairRunAna* fRunAna; FairFileSource* fSource; std::multimap fInputObjects; //< multimap of port and object std::map fInputBranches; TObject* fEventHeaderPointer; std::set fPorts; int fNObjects; int64_t fMaxIndex; std::vector > fBranchNames; std::vector fFileNames; }; #endif /* PndMvdMQFileSampler_H_ */