ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AllSiliconTrackerSubsystem.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file AllSiliconTrackerSubsystem.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef ALLSILICONTRACKERSUBSYSTEM_H
4 #define ALLSILICONTRACKERSUBSYSTEM_H
5 
7 
8 #include <set>
9 #include <string>
10 
12 class PHCompositeNode;
13 class PHG4Detector;
14 class PHG4DisplayAction;
15 class PHG4SteppingAction;
16 
28 {
29  public:
31  AllSiliconTrackerSubsystem(const std::string& name = "AllSiliconTracker");
32 
35 
39  int InitRunSubsystem(PHCompositeNode*) override;
40 
42 
46  int process_event(PHCompositeNode*) override;
47 
49  PHG4Detector* GetDetector() const override;
50 
52  PHG4DisplayAction* GetDisplayAction() const override { return m_DisplayAction; }
53 
55  void Print(const std::string& what = "ALL") const override;
56  void AddAssemblyVolume(const std::string& avol);
57  std::pair<std::set<std::string>::const_iterator, std::set<std::string>::const_iterator> assembly_iters() { return std::make_pair(m_AssemblyVolumeSet.begin(), m_AssemblyVolumeSet.end()); }
58 
59  void AddLogicalVolume(const std::string& name);
60  std::pair<std::set<std::string>::const_iterator, std::set<std::string>::const_iterator> logvol_iters() { return std::make_pair(m_LogVolumeSet.begin(), m_LogVolumeSet.end()); }
61 
62  protected:
63  // \brief Set default parameter values
64  void SetDefaultParameters() override;
65 
66  private:
68 
70 
72 
74 
76 
78 
79  std::set<std::string> m_AssemblyVolumeSet;
80  std::set<std::string> m_LogVolumeSet;
81 };
82 
83 #endif // ALLSILICONTRACKERSUBSYSTEM_H