CbmRoot
|
Class for the MC transport of the CBM-FSD. More...
#include <CbmFsdMC.h>
Public Member Functions | |
CbmFsdMC (Bool_t active=kTRUE, const char *name="FSDMC") | |
Constructor. | |
virtual | ~CbmFsdMC () |
CbmFsdMC (const CbmFsdMC &)=delete | |
CbmFsdMC | operator= (const CbmFsdMC &)=delete |
virtual Bool_t | IsSensitive (const std::string &name) |
Check whether a volume is sensitive. | |
virtual Bool_t | CheckIfSensitive (std::string name) |
Check whether a volume is sensitive. | |
virtual void | ConstructGeometry () |
Construct the FSD geometry in the TGeoManager. | |
virtual void | EndOfEvent () |
Action at end of event. | |
virtual void | Initialize () |
Initialisation. | |
virtual TClonesArray * | GetCollection (Int_t iColl) const |
Get output array of CbmFsdPoints. | |
virtual void | Print (Option_t *opt="") const |
Screen log Prints current number of StsPoints in array. Virtual from TObject. | |
virtual Bool_t | ProcessHits (FairVolume *volume=0) |
Stepping action. | |
virtual void | Register () |
Register the output array. | |
virtual void | Reset () |
Clear output array. | |
Private Member Functions | |
void | RegisterSensitiveVolumes (TGeoNode *node) |
energy loss | |
Private Attributes | |
TClonesArray * | fFsdPoints = nullptr |
Int_t | fTrackID = -1 |
Output array. | |
Int_t | fAddress = -1 |
track index | |
TLorentzVector | fPos {} |
address (module and layer) | |
TLorentzVector | fMom {} |
position | |
Double_t | fTime = -1. |
momentum | |
Double_t | fLength = -1. |
time | |
Double_t | fEloss = -1. |
length | |
Class for the MC transport of the CBM-FSD.
The CbmFsdMC defines the behaviour of the FSD system during transport simulation. It constructs the FSD transport geometry and creates objects of type CbmFsdPoints.
Definition at line 32 of file CbmFsdMC.h.
|
inline |
Constructor.
active | If set true, ProcessHits will be called |
name | Name of detector object |
Definition at line 39 of file CbmFsdMC.h.
|
virtual |
|
delete |
Prevent copy constructor and assignment operator
|
inlinevirtual |
Check whether a volume is sensitive.
(name) | Volume name @value kTRUE if volume is sensitive, else kFALSE |
The decision is based on the volume name (has to contain "scint"). Virtual from FairModule.
Definition at line 70 of file CbmFsdMC.h.
References IsSensitive().
Referenced by RegisterSensitiveVolumes().
|
virtual |
Construct the FSD geometry in the TGeoManager.
Only ROOT geometries are supported. The file must contain a top volume the name of which starts with "fsd" and a TGeoMatrix for the placement of the top fsd volume in the cave. Virtual from FairModule.
Definition at line 41 of file CbmFsdMC.cxx.
References Cbm::GeometryUtils::ImportRootGeometry().
|
virtual |
Action at end of event.
Short status log and Reset(). Virtual from FairDetector.
Definition at line 50 of file CbmFsdMC.cxx.
References fFsdPoints, and Print().
|
inlinevirtual |
Get output array of CbmFsdPoints.
Accessor to the hit collection
iColl | Number of collection. Must be zero, since there is only one. @value Pointer to TClonesArray with CbmFsdPoints |
Definition at line 105 of file CbmFsdMC.h.
References fFsdPoints.
|
virtual |
Initialisation.
The output array is created. Then, the base class method FairDetector::Initialize() is called. Virtual from FairDetector.
Definition at line 66 of file CbmFsdMC.cxx.
References fFsdPoints.
|
inlinevirtual |
Check whether a volume is sensitive.
(name) | Volume name @value kTRUE if volume is sensitive, else kFALSE |
The decision is based on the volume name (has to contain "scint"). Virtual from FairModule.
Definition at line 58 of file CbmFsdMC.h.
Referenced by CheckIfSensitive().
|
virtual |
Screen log Prints current number of StsPoints in array. Virtual from TObject.
Definition at line 59 of file CbmFsdMC.cxx.
References fFsdPoints.
Referenced by EndOfEvent().
|
virtual |
Stepping action.
volume | Pointer to the current volume @value Always kTRUE |
Defines the action to be taken when a step is inside the active volume. Creates CbmFsdPoints and adds them to the collection. Abstract from FairDetector.
Definition at line 78 of file CbmFsdMC.cxx.
References CbmStack::AddPoint(), fAddress, fEloss, fFsdPoints, fLength, fMom, fPos, fTime, fTrackID, CbmFsdGeoHandler::GetCurrentAddress(), CbmFsdGeoHandler::GetInstance(), kFsd, and size().
|
inlinevirtual |
Register the output array.
Abstract from FairDetector.
Definition at line 131 of file CbmFsdMC.h.
References fFsdPoints.
|
private |
energy loss
Register all sensitive volumes
node | Pointer to start node |
Starting from the specified node, the entire node tree is expanded and all volumes which satisfy the CheckIfSensitive() criterion are added to the list of sensitive volumes.
Definition at line 120 of file CbmFsdMC.cxx.
References CheckIfSensitive(), and RegisterSensitiveVolumes().
Referenced by RegisterSensitiveVolumes().
|
inlinevirtual |
Clear output array.
Abstract from FairDetector.
Definition at line 138 of file CbmFsdMC.h.
References fFsdPoints.
|
private |
|
private |
|
private |
Definition at line 141 of file CbmFsdMC.h.
Referenced by EndOfEvent(), GetCollection(), Initialize(), Print(), ProcessHits(), Register(), Reset(), and ~CbmFsdMC().
|
private |
|
private |
|
private |
|
private |
|
private |
Output array.
Track information to be temporarily stored
Definition at line 144 of file CbmFsdMC.h.
Referenced by ProcessHits().