StFmsSimulatorMaker
1.0.0
FMS fast simulator maker
|
#include <StFmsSimulatorMaker.h>
Public Member Functions | |
virtual | ~StFmsSimulatorMaker () |
StFmsSimulatorMaker (const Char_t *name="fmsSim") | |
Int_t | Make () |
virtual const char * | GetCVS () const |
Private Types | |
enum | StFmsDetectorId { kFpdNorth = 0, kFpdSouth = 1, kFpdNorthPreshower = 2, kFpdSouthPreshower = 3, kFmsNorthLarge = 8, kFmsSouthLarge = 9, kFmsNorthSmall = 10, kFmsSouthSmall = 11, kFmsInvalidDetectorId = -1 } |
Private Member Functions | |
Int_t | getDetectorId (const g2t_emc_hit_st &hit) const |
StFmsHit * | makeFmsHit (const g2t_emc_hit_st &hit) |
void | fillStEvent (StEvent *event) |
void | printStEventSummary (const StEvent *event) |
The FMS fast simulator maker.
Populates the FMS hit collection in StEvent with StFmsHits, using Geant hits from the g2t table as input. Simulates digitisation of hit energy using gains from the database.
For descriptions of the FMS hit structures in GEANT:
For descriptions of the FMS geometry and mapping in the FMS database:
or look at the relevant structures directly:
Definition at line 44 of file StFmsSimulatorMaker.h.
enum StFmsSimulatorMaker::StFmsDetectorId [private] |
Enumeration for FPD and FMS subdetectors.
The numerical values are defined for compatibility with the detector ID values expected by StFmsHit i.e. the detector ID numbers defined by StFmsChannelGeometry in the database. Only subdetectors that are possible return values from getDetectorId() are included; there are other subdetectors, but they are not valid return values (hits corresponding to these subdetectors will return kFmsInvalidDetectorId).
kFpdNorth | |
kFpdSouth | |
kFpdNorthPreshower | |
kFpdSouthPreshower | |
kFmsNorthLarge | |
kFmsSouthLarge | |
kFmsNorthSmall | |
kFmsSouthSmall | |
kFmsInvalidDetectorId |
Definition at line 78 of file StFmsSimulatorMaker.h.
virtual StFmsSimulatorMaker::~StFmsSimulatorMaker | ( | ) | [inline, virtual] |
Destructor.
Definition at line 49 of file StFmsSimulatorMaker.h.
StFmsSimulatorMaker::StFmsSimulatorMaker | ( | const Char_t * | name = "fmsSim" | ) | [explicit] |
Default constructor.
Definition at line 23 of file StFmsSimulatorMaker.cxx.
void StFmsSimulatorMaker::fillStEvent | ( | StEvent * | event | ) | [private] |
Fills the StFmsCollection of StEvent with hits from an StMcEvent.
Definition at line 49 of file StFmsSimulatorMaker.cxx.
const char * StFmsSimulatorMaker::GetCVS | ( | ) | const [inline, virtual] |
Standard overload of StMaker::GetCVS()
Definition at line 116 of file StFmsSimulatorMaker.h.
Int_t StFmsSimulatorMaker::getDetectorId | ( | const g2t_emc_hit_st & | hit | ) | const [private] |
Returns the detector ID of an FPD or FMS detector subsystem.
Detector ID numbers are those used by StFmsChannelGeometry (or see StFmsDetectorID in this class). Returns kFmsInvalidDetectorId if the detector ID cannot be determined, or corresponds to an unsupported subdetector.
Definition at line 149 of file StFmsSimulatorMaker.cxx.
Int_t StFmsSimulatorMaker::Make | ( | ) |
Populate StEvent with FMS g2t Geant hits for the current event.
Returns kStOk in case of success, kStError otherwise.
Definition at line 26 of file StFmsSimulatorMaker.cxx.
StFmsHit * StFmsSimulatorMaker::makeFmsHit | ( | const g2t_emc_hit_st & | hit | ) | [private] |
Constructs and returns an StFmsHit from a g2t_emc_hit_st.
The StFmsHit is allocated via new and so needs to be deleted by the user, or passed to a container that takes ownership of it.
Definition at line 70 of file StFmsSimulatorMaker.cxx.
void StFmsSimulatorMaker::printStEventSummary | ( | const StEvent * | event | ) | [private] |
Prints the total number of hits and energy in each detector subsystem.
Definition at line 178 of file StFmsSimulatorMaker.cxx.