Belle II Software  release-05-01-25
PayloadMetadata.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2019 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Martin Ritter *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 
12 #include <string>
13 #include <framework/database/IntervalOfValidity.h>
14 
15 namespace Belle2::Conditions {
17  struct PayloadMetadata {
19  explicit PayloadMetadata(const std::string& _name, bool _required = true): name{_name}, required{_required} {}
21  PayloadMetadata(const std::string& _name, const std::string& _globaltag, const std::string& _payloadUrl,
22  const std::string& _baseUrl, const std::string& _checksum, int firstExp, int firstRun, int finalExp, int finalRun,
23  int _revision): name(_name), globaltag(_globaltag), payloadUrl(_payloadUrl), baseUrl(_baseUrl), checksum(_checksum),
24  iov{firstExp, firstRun, finalExp, finalRun}, revision(_revision) {}
26  void update(const PayloadMetadata& other)
27  {
28  bool r{required};
29  (*this) = other;
30  required = r;
31  }
33  std::string name;
35  std::string globaltag{""};
37  std::string filename{""};
39  std::string payloadUrl{""};
41  std::string baseUrl{""};
43  std::string checksum{""};
45  IntervalOfValidity iov;
47  size_t revision{0};
49  bool required{true};
50  };
51 } // Belle2::Conditions namespace
Belle2::Conditions::PayloadMetadata::iov
IntervalOfValidity iov
the interval of validity
Definition: PayloadMetadata.h:61
Belle2::Conditions::PayloadMetadata::revision
size_t revision
the revision of the payload
Definition: PayloadMetadata.h:63
Belle2::Conditions::PayloadMetadata::required
bool required
if true a missing payload will not trigger an error
Definition: PayloadMetadata.h:65
Belle2::Conditions::PayloadMetadata::baseUrl
std::string baseUrl
base url if download is necessary
Definition: PayloadMetadata.h:57
Belle2::Conditions::PayloadMetadata::PayloadMetadata
PayloadMetadata(const std::string &_name, bool _required=true)
Constructor to request a payload with a given name and indicate whether non-existence is ok.
Definition: PayloadMetadata.h:35
Belle2::Conditions::PayloadMetadata::name
std::string name
Name of the Payload.
Definition: PayloadMetadata.h:49
Belle2::Conditions::PayloadMetadata::filename
std::string filename
full filename to the payload file
Definition: PayloadMetadata.h:53
Belle2::Conditions::PayloadMetadata::checksum
std::string checksum
digest (checksum) of the payload
Definition: PayloadMetadata.h:59
Belle2::Conditions::PayloadMetadata::globaltag
std::string globaltag
Name of the globaltag this payload was taken from.
Definition: PayloadMetadata.h:51
Belle2::Conditions::PayloadMetadata::update
void update(const PayloadMetadata &other)
Update information from another instance but keep the "required" flag untouched.
Definition: PayloadMetadata.h:42
Belle2::Conditions::PayloadMetadata::payloadUrl
std::string payloadUrl
logical filename to the payload
Definition: PayloadMetadata.h:55