OpenMS
ProcessingStep.h
Go to the documentation of this file.
1 // Copyright (c) 2002-2023, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin
2 // SPDX-License-Identifier: BSD-3-Clause
3 //
4 // --------------------------------------------------------------------------
5 // $Maintainer: Hendrik Weisser $
6 // $Authors: Hendrik Weisser $
7 // --------------------------------------------------------------------------
8 
9 #pragma once
10 
14 
15 namespace OpenMS
16 {
17  namespace IdentificationDataInternal
18  {
22  {
24 
25  std::vector<InputFileRef> input_file_refs;
26 
28 
29  // @TODO: add processing actions that are relevant for ID data
30  std::set<DataProcessing::ProcessingAction> actions;
31 
32  explicit ProcessingStep(
34  const std::vector<InputFileRef>& input_file_refs = std::vector<InputFileRef>(),
35  const DateTime& date_time = DateTime::now(),
36  const std::set<DataProcessing::ProcessingAction>& actions = std::set<DataProcessing::ProcessingAction>())
37  :
40  {
41  }
42 
43  ProcessingStep(const ProcessingStep& other) = default;
44 
45  // order by date/time first, don't compare meta data (?):
46  bool operator<(const ProcessingStep& other) const
47  {
48  return (std::tie(date_time, software_ref, input_file_refs, actions) <
49  std::tie(other.date_time, other.software_ref,
50  other.input_file_refs, other.actions));
51  }
52 
53  // don't compare meta data (?):
54  bool operator==(const ProcessingStep& other) const
55  {
56  return (std::tie(software_ref, input_file_refs, date_time, actions) ==
57  std::tie(other.software_ref, other.input_file_refs,
58  other.date_time, other.actions));
59  }
60  };
61 
62  typedef std::set<ProcessingStep> ProcessingSteps;
64 
65  }
66 }
DateTime Class.
Definition: DateTime.h:33
static DateTime now()
Returns the current date and time.
Interface for classes that can store arbitrary meta information (Type-Name-Value tuples).
Definition: MetaInfoInterface.h:35
std::set< ProcessingStep > ProcessingSteps
Definition: ProcessingStep.h:62
IteratorWrapper< ProcessingSteps::iterator > ProcessingStepRef
Definition: ProcessingStep.h:63
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:22
Data processing step that is applied to the data (e.g. database search, PEP calculation,...
Definition: ProcessingStep.h:22
ProcessingStep(ProcessingSoftwareRef software_ref, const std::vector< InputFileRef > &input_file_refs=std::vector< InputFileRef >(), const DateTime &date_time=DateTime::now(), const std::set< DataProcessing::ProcessingAction > &actions=std::set< DataProcessing::ProcessingAction >())
Definition: ProcessingStep.h:32
std::vector< InputFileRef > input_file_refs
Definition: ProcessingStep.h:25
std::set< DataProcessing::ProcessingAction > actions
Definition: ProcessingStep.h:30
ProcessingSoftwareRef software_ref
Definition: ProcessingStep.h:23
bool operator==(const ProcessingStep &other) const
Definition: ProcessingStep.h:54
DateTime date_time
Definition: ProcessingStep.h:27
bool operator<(const ProcessingStep &other) const
Definition: ProcessingStep.h:46
ProcessingStep(const ProcessingStep &other)=default