ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHG4EnvelopeSubsystem.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHG4EnvelopeSubsystem.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef G4DETECTORS_PHG4ENVELOPESUBSYSTEM_H
4 #define G4DETECTORS_PHG4ENVELOPESUBSYSTEM_H
5 
6 #include <g4main/PHG4Subsystem.h>
7 
8 #include <Geant4/G4String.hh>
9 
10 #include <string> // for string
11 
12 class PHG4Detector;
15 class PHG4SteppingAction;
16 class PHCompositeNode;
17 
19 {
20  public:
21  //Constructor
22  PHG4EnvelopeSubsystem ( const std::string &name = "ENVELOPE_DEFAULT", const int layer = 0 );
23 
24  //Destructor
25  ~PHG4EnvelopeSubsystem ( void ) override
26  {}
27 
28  /*
29  Creates the detector_ object and place it on the node tree, under "DETECTORS" node (or whatever)
30  Creates the stepping action and place it on the node tree, under "ACTIONS" node
31  Creates relevant hit nodes that will be populated by the stepping action and stored in the output DST
32  */
33 
34  int Init(PHCompositeNode *) override;
35 
36  //Event Processing
37  int process_event(PHCompositeNode *) override;
38 
39  //Accessors (reimplemented)
40  PHG4Detector* GetDetector( void ) const override;
41  PHG4SteppingAction* GetSteppingAction( void ) const override;
42 
43  private:
44  //Pointer to Geant4 implementation of detector
46 
47  //Stepping Action
49 
51  int active;
52 
53  std::string detector_type;
54 
55 };
56 
57 #endif