forked from eic/fun4all_eicdetectors
/
AllSi_Al_support_Detector.h
51 lines (38 loc) · 1.28 KB
/
AllSi_Al_support_Detector.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
// Tell emacs that this is a C++ source
// -*- C++ -*-.
#ifndef MYDETECTORDETECTOR_H
#define MYDETECTORDETECTOR_H
#include <g4main/PHG4Detector.h>
#include <Geant4/G4Material.hh>
#include <set>
#include <string> // for string
class G4LogicalVolume;
class G4VPhysicalVolume;
class PHCompositeNode;
class PHG4Subsystem;
class PHParameters;
class AllSi_Al_support_Detector : public PHG4Detector
{
public:
//! constructor
AllSi_Al_support_Detector(PHG4Subsystem *subsys, PHCompositeNode *Node, PHParameters *parameters, const std::string &dnam);
//! destructor
virtual ~AllSi_Al_support_Detector() {}
//! construct
void ConstructMe(G4LogicalVolume *world) override;
void Print(const std::string &what = "ALL") const override;
//!@name volume accessors
//@{
int IsInDetector(G4VPhysicalVolume *) const;
//@}
void SuperDetector(const std::string &name) { m_SuperDetector = name; }
const std::string SuperDetector() const { return m_SuperDetector; }
G4Material * element_material( std::string identifier );
void addDetectorSection( G4LogicalVolume *logicWorld , std::string name , double sign );
private:
PHParameters *m_Params;
// active volumes
std::set<G4VPhysicalVolume *> m_PhysicalVolumesSet;
std::string m_SuperDetector;
};
#endif // MYDETECTORDETECTOR_H