ATLAS Offline Software
VP1EventProd.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // //
7 // Header file for class VP1Alg //
8 // //
9 // update: Riccardo-Maria BIANCHI <rbianchi@cern.ch> //
10 // 23 May 2014 //
11 // //
12 // This is the Athena algorithm starting the production //
13 // of event files for VP1 Live, the online 3D event //
14 // display at P1.
15 //
16 // Major updates:
17 // - 2022 Apr, Riccardo Maria BIANCHI <riccardo.maria.bianchi@cern.ch>
18 // Fixed the bug with large event numbers, moving to 'unsigned long long'
19 //
21 
22 #ifndef VP1ALGS_VP1EVENTPROD
23 #define VP1ALGS_VP1EVENTPROD
24 
26 #include "GaudiKernel/IIncidentListener.h"
27 #include "GaudiKernel/ServiceHandle.h"
29 
30 #include <string>
31 
32 class VP1EventProd: public AthAlgorithm,
33  public IIncidentListener
34 {
35  public:
36  VP1EventProd(const std::string& name, ISvcLocator* pSvcLocator);
37  ~VP1EventProd();
38 
42 
43  void handle(const Incident& inc);
44 
45  private:
46 
47  Gaudi::Property<bool> m_isOnline {this, "IsOnline", false, "If running at point 1"};
48  ServiceHandle<IOnlineEventDisplaysSvc> m_onlineEDsvc{this, "OnlineEventDisplaysSvc", "Online Event Displays Service"};
49 
50  // run/event number to be used in the vp1 event file name
51  unsigned long m_runNumber;
52  unsigned long long m_eventNumber;
53 
54  unsigned long m_timeStamp;
55  std::string m_humanTimestamp;
56  std::string m_outputFileType;
58 
59  // properties
60  std::string m_inputPoolFile;
61  std::string m_destinationDir;
64  int m_nEvent; // Internal counter for the number of processed events
65 };
66 
67 #endif
VP1EventProd::m_removeTempInputFiles
bool m_removeTempInputFiles
Definition: VP1EventProd.h:57
VP1EventProd::finalize
StatusCode finalize()
Definition: VP1EventProd.cxx:85
VP1EventProd::m_nEvent
int m_nEvent
Definition: VP1EventProd.h:64
VP1EventProd::m_runNumber
unsigned long m_runNumber
Definition: VP1EventProd.h:51
VP1EventProd::execute
StatusCode execute()
Definition: VP1EventProd.cxx:74
VP1EventProd::m_outputFileType
std::string m_outputFileType
Definition: VP1EventProd.h:56
VP1EventProd::initialize
StatusCode initialize()
Definition: VP1EventProd.cxx:49
IOnlineEventDisplaysSvc.h
VP1EventProd::m_destinationDir
std::string m_destinationDir
Definition: VP1EventProd.h:61
VP1EventProd
Definition: VP1EventProd.h:34
VP1EventProd::handle
void handle(const Incident &inc)
Definition: VP1EventProd.cxx:130
VP1EventProd::m_isOnline
Gaudi::Property< bool > m_isOnline
Definition: VP1EventProd.h:47
AthAlgorithm.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
VP1EventProd::m_maxProducedFiles
int m_maxProducedFiles
Definition: VP1EventProd.h:63
AthAlgorithm
Definition: AthAlgorithm.h:47
VP1EventProd::VP1EventProd
VP1EventProd(const std::string &name, ISvcLocator *pSvcLocator)
Definition: VP1EventProd.cxx:26
VP1EventProd::m_eventNumber
unsigned long long m_eventNumber
Definition: VP1EventProd.h:52
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
VP1EventProd::m_humanTimestamp
std::string m_humanTimestamp
Definition: VP1EventProd.h:55
VP1EventProd::m_inputPoolFile
std::string m_inputPoolFile
Definition: VP1EventProd.h:60
VP1EventProd::m_onlineEDsvc
ServiceHandle< IOnlineEventDisplaysSvc > m_onlineEDsvc
Definition: VP1EventProd.h:48
VP1EventProd::m_timeStamp
unsigned long m_timeStamp
Definition: VP1EventProd.h:54
VP1EventProd::m_createDestinationDir
bool m_createDestinationDir
Definition: VP1EventProd.h:62
VP1EventProd::~VP1EventProd
~VP1EventProd()
Definition: VP1EventProd.cxx:45
ServiceHandle< IOnlineEventDisplaysSvc >