ATLAS Offline Software
Loading...
Searching...
No Matches
UserLimitsSvc.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef G4ATLASTOOLS_USERLIMITSSVC_H
6#define G4ATLASTOOLS_USERLIMITSSVC_H
7
8// Base classes
11
12// STL library
13#include <string>
14#include <vector>
15
20
21class UserLimitsSvc final : public extends<AthService, IUserLimitsSvc> {
22 public:
23 // Standard constructor and destructor
24 UserLimitsSvc(const std::string& name, ISvcLocator* pSvcLocator);
25 virtual ~UserLimitsSvc() = default;
26
27 virtual StatusCode initialize() override final;
28
29 private:
31 bool isMatch(const std::string& pattern, const std::string& logicalVolume) const;
32 bool contains(const std::string& pattern, const std::string& logicalVolume) const;
34 Gaudi::Property<double> m_MaxStep{this, "MaxStep", -1., "Maximum step length"};
36 Gaudi::Property<double> m_MinEkine{this, "MinEkine", -1., "Minimum remaining kinetic energy for a track"};
38 Gaudi::Property<double> m_MaxTrackLength{this, "MaxTrackLength", -1., "Maximum total track length"};
40 Gaudi::Property<double> m_MaxTime{this, "MaxTime", -1., "Maximum global time for a track"};
42 Gaudi::Property<double> m_MinRange{this, "MinRange", -1., "Minimum remaining range for a track"};
44 Gaudi::Property<std::string> m_matchType{this, "MatchType", "isMatch", "Use 'contains' or 'isMatch' function for string comparison"};
46 Gaudi::Property<std::vector<std::string> > m_logicalVolumes{this, "VolumeList" , {}, "List of Logical volume to which these limits should be applied"};
47};
48
49#endif //G4ATLASTOOLS_USERLIMITSSVC_H
Support class for PropertyMgr.
Definition Property.h:23
Gaudi::Property< std::vector< std::string > > m_logicalVolumes
List of Logical volume to which these limits should be applied.
Gaudi::Property< double > m_MaxTime
Maximum global time for a track.
Gaudi::Property< double > m_MinRange
Minimum remaining range for a track.
bool isMatch(const std::string &pattern, const std::string &logicalVolume) const
Functions for string comparison.
virtual StatusCode initialize() override final
bool contains(const std::string &pattern, const std::string &logicalVolume) const
Gaudi::Property< double > m_MinEkine
Minimum remaining kinetic energy for a track.
Gaudi::Property< std::string > m_matchType
Use 'contains' or 'isMatch' function for string comparison.
UserLimitsSvc(const std::string &name, ISvcLocator *pSvcLocator)
Gaudi::Property< double > m_MaxTrackLength
Maximum total track length.
virtual ~UserLimitsSvc()=default
Gaudi::Property< double > m_MaxStep
Maximum step length.
=============================================================================
STL namespace.
#define private