Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHG4GDMLConfig.hh
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHG4GDMLConfig.hh
1 // $Id: $
2 
11 #ifndef SIMULATION_CORESOFTWARE_SIMULATION_G4SIMULATION_G4GDML_PHG4GDMLCONFIG_HH_
12 #define SIMULATION_CORESOFTWARE_SIMULATION_G4SIMULATION_G4GDML_PHG4GDMLCONFIG_HH_
13 
14 #include <phool/PHObject.h>
15 
16 #include <iostream> // for operator<<, basic_ostream, basic_ostream...
17 #include <set>
18 
19 class G4VPhysicalVolume;
20 class G4LogicalVolume;
21 
25 class PHG4GDMLConfig : public PHObject
26 {
27  public:
29  virtual ~PHG4GDMLConfig() {}
30 
31  virtual void Reset()
32  {
33  excluded_physical_vol.clear();
34  excluded_logical_vol.clear();
35  }
36  virtual int isValid() const { return 1; }
37  virtual void identify(std::ostream &os = std::cout) const
38  {
39  os << "PHG4GDMLConfig with " << excluded_physical_vol.size() << "excluded physical volume and "
40  << excluded_logical_vol.size() << " excluded logical volume" << std::endl;
41  }
42 
44  void exclude_logical_vol(const G4LogicalVolume *vol) { excluded_logical_vol.insert(vol); }
45  const std::set<const G4VPhysicalVolume *> &get_excluded_physical_vol() const { return excluded_physical_vol; }
46  const std::set<const G4LogicalVolume *> &get_excluded_logical_vol() const { return excluded_logical_vol; }
47 
48  private:
49  std::set<const G4VPhysicalVolume *> excluded_physical_vol;
50  std::set<const G4LogicalVolume *> excluded_logical_vol;
51 };
52 
53 #endif /* SIMULATION_CORESOFTWARE_SIMULATION_G4SIMULATION_G4GDML_PHG4GDMLCONFIG_HH_ */