00001 #ifndef _ots_MPIInitializer_h_ 00002 #define _ots_MPIInitializer_h_ 00003 00004 #include "artdaq/Application/MPI2/MPISentry.hh" 00005 #include "artdaq/DAQrate/quiet_mpi.hh" 00006 00007 #include <string> 00008 #include <memory> 00009 00010 namespace ots 00011 { 00012 00013 class MPIInitializer 00014 { 00015 public: 00016 00017 MPIInitializer(void); 00018 ~MPIInitializer(void); 00019 void init(std::string name, artdaq::TaskType taskType); 00020 00021 MPI_Comm getLocalGroupComm(void){return local_group_comm_;} 00022 int getRank() { return rank_; } 00023 00024 private: 00025 MPI_Comm local_group_comm_; 00026 int rank_; 00027 std::unique_ptr<artdaq::MPISentry> mpiSentry_; 00028 }; 00029 00030 } 00031 00032 #endif