star-travex
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
StiVolumeFilter.h
Go to the documentation of this file.
1 #ifndef StiVolumeFilter_h
2 #define StiVolumeFilter_h
3 
4 #include <boost/regex.hpp>
5 
6 #include "StEvent/StEnumerations.h"
7 
8 class StiKalmanTrack;
9 class StiKalmanTrackNode;
10 
11 
17 {
18 public:
19 
20  static StiVolumeFilter& GetInstance();
21 
22  StDetectorId GetDetGroupId() const { return fgDetGroupId; }
23 
24  bool AcceptTrack(const StiKalmanTrack& track) const;
25  bool AcceptTrackNode(const StiKalmanTrackNode& node) const;
26  bool HasAcceptedNode(const StiKalmanTrack& track) const;
27  const std::set<boost::regex>& GetNamePatterns() const { return fgVolumeSelectPatterns; }
28 
29 protected:
30 
31  StDetectorId fgDetGroupId;
33  std::set<boost::regex> fgVolumeSelectPatterns;
36 
37 private:
38 
40  StiVolumeFilter(const StiVolumeFilter& ) = delete;
41  void operator= (StiVolumeFilter const& ) = delete;
42 };
43 
44 #endif
StDetectorId GetDetGroupId() const
StDetectorId fgDetGroupId
Detector group id used in this study.
bool AcceptTrack(const StiKalmanTrack &track) const
bool fgDetActiveOnly
Another selection criteria to save nodes.
void operator=(StiVolumeFilter const &)=delete
std::set< boost::regex > fgVolumeSelectPatterns
A set of regex patterns to select and save track nodes passing through volumes with matching names...
static StiVolumeFilter & GetInstance()
A singleton to manage constraints on save Sti objects such as tracks and track nodes.
StiVolumeFilter()
By default, we set no constraints on tracks w.r.t.
bool AcceptTrackNode(const StiKalmanTrackNode &node) const
const std::set< boost::regex > & GetNamePatterns() const
bool HasAcceptedNode(const StiKalmanTrack &track) const