ATLAS Offline Software
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 
21 class 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
UserLimitsSvc::contains
bool contains(const std::string &pattern, const std::string &logicalVolume) const
Definition: UserLimitsSvc.cxx:75
mergePhysValFiles.pattern
pattern
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:26
UserLimitsSvc::m_logicalVolumes
Gaudi::Property< std::vector< std::string > > m_logicalVolumes
List of Logical volume to which these limits should be applied.
Definition: UserLimitsSvc.h:46
UserLimitsSvc::m_MaxStep
Gaudi::Property< double > m_MaxStep
Maximum step length.
Definition: UserLimitsSvc.h:34
UserLimitsSvc::m_MinEkine
Gaudi::Property< double > m_MinEkine
Minimum remaining kinetic energy for a track.
Definition: UserLimitsSvc.h:36
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
Property
Support class for PropertyMgr.
Definition: Property.h:23
UserLimitsSvc::m_MinRange
Gaudi::Property< double > m_MinRange
Minimum remaining range for a track.
Definition: UserLimitsSvc.h:42
UserLimitsSvc::isMatch
bool isMatch(const std::string &pattern, const std::string &logicalVolume) const
Functions for string comparison.
Definition: UserLimitsSvc.cxx:80
IUserLimitsSvc.h
UserLimitsSvc::initialize
virtual StatusCode initialize() override final
Definition: UserLimitsSvc.cxx:22
UserLimitsSvc::m_MaxTrackLength
Gaudi::Property< double > m_MaxTrackLength
Maximum total track length.
Definition: UserLimitsSvc.h:38
UserLimitsSvc::m_MaxTime
Gaudi::Property< double > m_MaxTime
Maximum global time for a track.
Definition: UserLimitsSvc.h:40
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
UserLimitsSvc::~UserLimitsSvc
virtual ~UserLimitsSvc()=default
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
UserLimitsSvc::m_matchType
Gaudi::Property< std::string > m_matchType
Use 'contains' or 'isMatch' function for string comparison.
Definition: UserLimitsSvc.h:44
UserLimitsSvc::UserLimitsSvc
UserLimitsSvc(const std::string &name, ISvcLocator *pSvcLocator)
Definition: UserLimitsSvc.cxx:16
Gaudi
=============================================================================
Definition: CaloGPUClusterAndCellDataMonitorOptions.h:273
AthService.h
UserLimitsSvc
Definition: UserLimitsSvc.h:21