ATLAS Offline Software
Loading...
Searching...
No Matches
PrimaryDPDPrescaler.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef PRIMARYDPD_PRESCALER_H
5#define PRIMARYDPD_PRESCALER_H
6
7#include <string>
8#include <vector>
9
12#include "Gaudi/Property.h"
13#include "GaudiKernel/ServiceHandle.h"
15
16
18public: // Constructor and Destructor
20 PrimaryDPDPrescaler(const std::string& name, ISvcLocator* pSvcLocator);
22 virtual ~PrimaryDPDPrescaler()= default;
23
24public:
26 StatusCode initialize() override;
27 StatusCode execute(const EventContext& ctx) const override;
28 StatusCode finalize()override;
29
30 // Private data members
31private:
33 ServiceHandle<IAthRNGSvc> m_rndmSvc{this, "RndmSvc", "AthRNGSvc", "Random Number Service"};
34
35 Gaudi::Property<double> m_prescale{this , "Prescale", 1.};
36 mutable std::atomic<unsigned int> m_accepted{0};
37 mutable std::atomic<unsigned int> m_vetoed{0};
38 unsigned int m_rollover{0};
39
41
43 StringArrayProperty m_theAcceptAlgNames;
44
46 StringArrayProperty m_theRequireAlgNames;
47
48
49};
50
51
52#endif
An algorithm that can be simultaneously executed in multiple threads.
std::atomic< unsigned int > m_accepted
std::atomic< unsigned int > m_vetoed
StatusCode initialize() override
Gaudi Service Interface method implementations:
StringArrayProperty m_theRequireAlgNames
List of algorithms names to combine with logical AND.
StatusCode finalize() override
StringArrayProperty m_theAcceptAlgNames
Keep these two properties for now in order not to break the current configuration.
ServiceHandle< IAthRNGSvc > m_rndmSvc
handle to the IAthRNGSvc we want to test
virtual ~PrimaryDPDPrescaler()=default
Destructor.
PrimaryDPDPrescaler(const std::string &name, ISvcLocator *pSvcLocator)
Standard Service Constructor.
Gaudi::Property< double > m_prescale
StatusCode execute(const EventContext &ctx) const override