R3BROOT
R3B analysis software
Loading...
Searching...
No Matches
R3BUcesbStructInfo.h
Go to the documentation of this file.
1#pragma once
2
3/******************************************************************************
4 * Copyright (C) 2019 GSI Helmholtzzentrum für Schwerionenforschung GmbH *
5 * Copyright (C) 2019-2025 Members of R3B Collaboration *
6 * *
7 * This software is distributed under the terms of the *
8 * GNU General Public Licence (GPL) version 3, *
9 * copied verbatim in the file "LICENSE". *
10 * *
11 * In applying this license GSI does not waive the privileges and immunities *
12 * granted to it by virtue of its status as an Intergovernmental Organization *
13 * or submit itself to any jurisdiction. *
14 ******************************************************************************/
15
16#include "R3BUcesbMappingFlag.h"
17#include <R3BReader.h>
18#include <ext_data_struct_info.hh>
19#include <vector>
20
22namespace R3B
23{
24 class UcesbSource;
26 {
27 public:
28 UcesbStructInfo() = default;
29 auto Get() -> ext_data_struct_info* { return &struct_info_; }
30 void CheckStructMapping(UcesbSource* source);
31 void SetExtraMapFlags(UcesbMap extr_flag) { map_success_conditions_ |= extr_flag; }
32 void SetMapSuccessCondition(UcesbMap condition) { map_success_conditions_ = condition; }
33
34 private:
35 void terminate();
36 bool check_struct_item(ext_data_structure_item* item, UcesbSource* source);
37 ext_data_struct_info struct_info_;
38 UcesbMap map_success_conditions_ = UcesbMap::ok;
39
40 // void check_struct_info_mapping_old(const UcesbMap& is_map_success);
41 };
42} // namespace R3B
UcesbStructInfo()=default
void SetExtraMapFlags(UcesbMap extr_flag)
void CheckStructMapping(UcesbSource *source)
void SetMapSuccessCondition(UcesbMap condition)
auto Get() -> ext_data_struct_info *