The Gaudi Framework  master (37c0b60a)
InputCopyStream.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2019 CERN for the benefit of the LHCb and ATLAS collaborations *
3 * *
4 * This software is distributed under the terms of the Apache version 2 licence, *
5 * copied verbatim in the file "LICENSE". *
6 * *
7 * In applying this licence, CERN does not waive the privileges and immunities *
8 * granted to it by virtue of its status as an Intergovernmental Organization *
9 * or submit itself to any jurisdiction. *
10 \***********************************************************************************/
11 #ifndef GAUDISVC_PERSISTENCYSVC_INPUTCOPYSTREAM_H
12 #define GAUDISVC_PERSISTENCYSVC_INPUTCOPYSTREAM_H
13 
14 // Required for inheritance
15 #include "OutputStream.h"
16 
17 class IDataStoreLeaves;
18 
29 class InputCopyStream : public OutputStream {
30 
31 public:
33  InputCopyStream( const std::string& name, ISvcLocator* pSvcLocator );
34 
36  StatusCode initialize() override;
37 
39  StatusCode finalize() override;
40 
42  StatusCode collectObjects() override;
43 
44 private:
47 
48  Gaudi::Property<std::vector<std::string>> m_tesVetoList{ this, "TESVetoList", {}, "names of TES locations to Veto" };
49 
50 protected:
52  bool hasInput() const override { return true; }
53 };
54 
55 #endif // GAUDISVC_PERSISTENCYSVC_INPUTCOPYSTREAM_H
OutputStream
A small to stream Data I/O.
Definition: OutputStream.h:38
std::string
STL class.
Gaudi::Algorithm::name
const std::string & name() const override
The identifying name of the algorithm object.
Definition: Algorithm.cpp:526
IDataStoreLeaves
Interface for a tool or service that returns a list of leaves (paths) in a transient store.
Definition: IDataStoreLeaves.h:25
ISvcLocator
Definition: ISvcLocator.h:46
InputCopyStream::collectObjects
StatusCode collectObjects() override
Collect all objects to be written to the output stream.
Definition: InputCopyStream.cpp:49
InputCopyStream::m_leavesTool
IDataStoreLeaves * m_leavesTool
Pointer to the (public) tool used to retrieve the objects in a file.
Definition: InputCopyStream.h:46
StatusCode
Definition: StatusCode.h:65
InputCopyStream::m_tesVetoList
Gaudi::Property< std::vector< std::string > > m_tesVetoList
Definition: InputCopyStream.h:48
InputCopyStream::initialize
StatusCode initialize() override
Initialize the instance.
Definition: InputCopyStream.cpp:33
InputCopyStream::hasInput
bool hasInput() const override
Overridden from the base class (InputCopyStream has always input).
Definition: InputCopyStream.h:52
InputCopyStream::finalize
StatusCode finalize() override
Finalize the instance.
Definition: InputCopyStream.cpp:42
OutputStream.h
InputCopyStream::InputCopyStream
InputCopyStream(const std::string &name, ISvcLocator *pSvcLocator)
Standard algorithm Constructor.
Definition: InputCopyStream.cpp:26
InputCopyStream
Extension of OutputStream to copy the content of the main input file.
Definition: InputCopyStream.h:29
Gaudi::Property
Implementation of property with value of concrete type.
Definition: Property.h:37