ATLAS Offline Software
Loading...
Searching...
No Matches
VP1Alg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
6//
7// Header file for class VP1Alg
8//
9//
10// This is the Athena algorithm starting a VP1 GUI
11//
12// Major updates:
13// - May 2014, riccardo.mria.bianchi
14// - Dec 2023, riccardo.maria.bianchi@cern.ch - migration to CA
15//
17
18
19#ifndef VP1ALGS_VP1ALG
20#define VP1ALGS_VP1ALG
21
23#include "GaudiKernel/IIncidentListener.h"
24#include "Gaudi/Property.h"
25
26//Tools
28
29// C++
30#include <string>
31#include <vector>
32
33class VP1Gui;
34
35class VP1Alg: public AthAlgorithm,
36 public IIncidentListener
37{
38 public:
39 VP1Alg(const std::string& name, ISvcLocator* pSvcLocator);
40 ~VP1Alg();
41
42 virtual StatusCode initialize() override;
43 virtual StatusCode execute(const EventContext& ctx) override;
44 virtual StatusCode finalize() override;
45
46 void handle(const Incident& inc) override;
47
48 private:
49
50 // Properties
51 // -- Empty input, no data files, when we use VP1, for example, to inspect geometry
52 Gaudi::Property<bool> m_vp1Conf_emptyInput{this, "EmptyInput", false, "This is set to True if we start VP1 with no input, that is, no data files; that is used, for example, when using VP1 to ins[ect the detector description / geometry. Default: False"};
53 // -- Athena-related
54 Gaudi::Property<std::string> m_atlasRelease{this, "AtlasRelease", "", "The current, in use Atlas release"};
55 // -- MultipleFiles mode
56 Gaudi::Property<bool> m_mfOn{this, "MultipleFilesON", false,
57 "Flag to turn the 'Multiple Files' mode ON/OFF. Default OFF"};
58 Gaudi::Property<int> m_mfLimit{this, "MFNumFileLimit", 10,
59 "MultipleFiles mode -- Maximum number of local copies to keep"};
60 Gaudi::Property<std::string> m_mfSourceDir{this, "MFSourceDir", "",
61 "MultipleFiles mode -- Path of the source directory, where input data files are stored and from which events are taken from"};
62 Gaudi::Property<std::string> m_mfLocalCopyDir{this, "MFLocalCopyDir", ".",
63 "MultipleFiles mode -- Path of the directory to keep local copies of processed events. Default '.' (the local run folder)"};
64 Gaudi::Property<std::vector<std::string>> m_mfAvailableLocalInputDirectories{this, "MFAvailableLocalInputDirectories", {},
65 "MultipleFiles mode -- Will only be used if sourcedir is set and local"};
66 // -- Cruise mode
67 Gaudi::Property<std::string> m_cruiseInitialMode{this, "CruiseInitialMode", "NONE",
68 "Cruise mode -- Initial Cruise mode: 'NONE', 'EVENT', 'TAB', 'BOTH'. Default: 'NONE'"};
69 Gaudi::Property<unsigned> m_cruiseInitialUpdateSeconds{this, "CruiseInitialSeconds", 10, "Cruise mode -- Initial Cruise update time, in seconds. Default: 10"};
70 // -- Input files
71 Gaudi::Property<std::vector<std::string>> m_initialvp1files{
72 this, "InitialInputVP1Files", {}, "a vector of input VP1 files"};
73 // -- VP1 GUI
74 Gaudi::Property<bool> m_noGui{this, "noGUI", false,
75 "Flag to turn OFF the GUI. Default: FALSE (i.e., GUI is ON)"};
76
77
78 ToolHandle<Trk::IExtrapolator> m_extrapolator{this, "ExtrapolatorTool", "Trk::Extrapolator/AtlasExtrapolator"};
79 //ToolHandle<Trk::IExtrapolationEngine> m_extrapolator{this, "Extrapolator", "Trk::ExtrapolationEngine/AtlasExtrapolation"};
80
82/*
83 // Work In Progress
84 // The variables below are needed in different VP1 configurations,
85 // which still need to be migrated to CA. In particular:
86 // - watch mode
87 // - cruise mode
88 // - batch mode / no GUI
89 // - multiple input files
90 // - pick input files from a specific directory
91 //
92 std::vector<std::string> m_initialvp1files;
93 std::string m_initialCruiseMode;//"NONE", "EVENT", "TAB", "BOTH".
94 unsigned m_initialCruiseSeconds;
95
96 bool m_noGui;//For testing job-options in RTT
97
98 // Properties for multiple input files (mf)
99 bool m_mfOn; // Flag to turn multiple files ON/OFF. Default OFF
100 std::string m_mfSourceDir; // Directory to take event files from
101 std::string m_mfLocalCopyDir; // Directory to keep local copies of processed events. Default "."
102 int m_mfLimit; // Maximum number of local copies to keep
103 std::vector<std::string> m_mfAvailableLocalInputDirectories;//Will only be used if sourcedir is set and local
104*/
105
106};
107
108#endif
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Gaudi::Property< std::string > m_mfLocalCopyDir
Definition VP1Alg.h:62
Gaudi::Property< int > m_mfLimit
Definition VP1Alg.h:58
Gaudi::Property< bool > m_noGui
Definition VP1Alg.h:74
Gaudi::Property< std::string > m_cruiseInitialMode
Definition VP1Alg.h:67
ToolHandle< Trk::IExtrapolator > m_extrapolator
Definition VP1Alg.h:78
~VP1Alg()
Definition VP1Alg.cxx:77
VP1Gui * m_vp1gui
Definition VP1Alg.h:81
Gaudi::Property< bool > m_mfOn
Definition VP1Alg.h:56
Gaudi::Property< bool > m_vp1Conf_emptyInput
Definition VP1Alg.h:52
Gaudi::Property< std::vector< std::string > > m_initialvp1files
Definition VP1Alg.h:71
Gaudi::Property< unsigned > m_cruiseInitialUpdateSeconds
Definition VP1Alg.h:69
virtual StatusCode finalize() override
Definition VP1Alg.cxx:194
virtual StatusCode initialize() override
Definition VP1Alg.cxx:82
VP1Alg(const std::string &name, ISvcLocator *pSvcLocator)
Definition VP1Alg.cxx:28
Gaudi::Property< std::vector< std::string > > m_mfAvailableLocalInputDirectories
Definition VP1Alg.h:64
virtual StatusCode execute(const EventContext &ctx) override
Execute method.
Definition VP1Alg.cxx:134
Gaudi::Property< std::string > m_atlasRelease
Definition VP1Alg.h:54
void handle(const Incident &inc) override
Definition VP1Alg.cxx:209
Gaudi::Property< std::string > m_mfSourceDir
Definition VP1Alg.h:60