forked from sPHENIX-Collaboration/coresoftware
/
PHG4BeamlineMagnetSubsystem.h
56 lines (41 loc) · 1.45 KB
/
PHG4BeamlineMagnetSubsystem.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
52
53
54
55
56
// Tell emacs that this is a C++ source
// -*- C++ -*-.
#ifndef G4DETECTORS_PHG4BEAMLINEMAGNETSUBSYSTEM_H
#define G4DETECTORS_PHG4BEAMLINEMAGNETSUBSYSTEM_H
#include "PHG4DetectorSubsystem.h"
#include <string> // for string
class PHCompositeNode;
class PHG4BeamlineMagnetDetector;
class PHG4Detector;
class PHG4BeamlineMagnetSubsystem: public PHG4DetectorSubsystem
{
public:
//! constructor
PHG4BeamlineMagnetSubsystem( const std::string &name = "CYLINDER", const int layer = 0 );
//! destructor
~PHG4BeamlineMagnetSubsystem( void ) override
{}
//! init runwise stuff
/*!
creates the detector_ object and place it on the node tree, under "DETECTORS" node (or whatever)
reates the stepping action and place it on the node tree, under "ACTIONS" node
creates relevant hit nodes that will be populated by the stepping action and stored in the output DST
*/
int InitRunSubsystem(PHCompositeNode *) override;
//! event processing
/*!
get all relevant nodes from top nodes (namely hit list)
and pass that to the stepping action
*/
int process_event(PHCompositeNode *) override;
//! Print info (from SubsysReco)
void Print(const std::string &what = "ALL") const override;
//! accessors (reimplemented)
PHG4Detector* GetDetector( void ) const override;
private:
void SetDefaultParameters() override;
//! detector geometry
/*! defives from PHG4Detector */
PHG4BeamlineMagnetDetector* detector_;
};
#endif