CbmRoot
|
Class for the MC transport of the CBM-PSD. More...
#include <CbmPsdMC.h>
Public Member Functions | |
CbmPsdMC (Bool_t active=kTRUE, const char *name="PSDMC") | |
Constructor. | |
virtual | ~CbmPsdMC () |
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 PSD geometry in the TGeoManager. | |
virtual void | EndOfEvent () |
Action at end of event. | |
virtual TClonesArray * | GetCollection (Int_t iColl) const |
Get output array of CbmPsdPoints. | |
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. | |
void | SetPosition (Double_t xPos, Double_t zPos, Double_t rotY) |
Define the PSD position in the cave. | |
Private Member Functions | |
void | RegisterSensitiveVolumes (TGeoNode *node) |
module ID | |
CbmPsdMC (const CbmPsdMC &)=delete | |
CbmPsdMC | operator= (const CbmPsdMC &)=delete |
Private Attributes | |
Double_t | fPosX |
Double_t | fPosZ |
Double_t | fRotY |
Bool_t | fUserPlacement |
TClonesArray * | fPsdPoints |
Int_t | fTrackID |
Output array. | |
Int_t | fAddress |
track index | |
TLorentzVector | fPos |
address (module and layer) | |
TLorentzVector | fMom |
position | |
Double_t | fTime |
momentum | |
Double_t | fLength |
time | |
Double_t | fEloss |
length | |
Int_t | fLayerID |
energy loss | |
Int_t | fModuleID |
layer ID | |
Class for the MC transport of the CBM-PSD.
The CbmPsdMC defines the behaviour of the PSD system during transport simulation. It constructs the PSD transport geometry and creates objects of type CbmPsdPoints.
Definition at line 34 of file CbmPsdMC.h.
CbmPsdMC::CbmPsdMC | ( | Bool_t | active = kTRUE, |
const char * | name = "PSDMC" ) |
Constructor.
active | If set true, ProcessHits will be called |
name | Name of detector object |
Definition at line 31 of file CbmPsdMC.cxx.
|
virtual |
|
privatedelete |
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 67 of file CbmPsdMC.h.
References IsSensitive().
Referenced by RegisterSensitiveVolumes().
|
virtual |
Construct the PSD geometry in the TGeoManager.
Only ROOT geometries are supported. The file must contain a top volume the name of which starts with "psd" and a TGeoMatrix for the placement of the top psd volume in the cave. Virtual from FairModule.
Definition at line 64 of file CbmPsdMC.cxx.
References Cbm::GeometryUtils::ImportRootGeometry().
|
virtual |
Action at end of event.
Short status log and Reset(). Virtual from FairDetector.
Definition at line 156 of file CbmPsdMC.cxx.
References fPsdPoints, and Print().
|
inlinevirtual |
Get output array of CbmPsdPoints.
Accessor to the hit collection
iColl | Number of collection. Must be zero, since there is only one. @value Pointer to TClonesArray with CbmPsdPoints |
Definition at line 93 of file CbmPsdMC.h.
References fPsdPoints.
|
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 55 of file CbmPsdMC.h.
Referenced by CheckIfSensitive().
|
virtual |
Screen log Prints current number of StsPoints in array. Virtual from TObject.
Definition at line 165 of file CbmPsdMC.cxx.
References fPsdPoints.
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 CbmPsdPoints and adds them to the collection. Abstract from FairDetector.
Definition at line 173 of file CbmPsdMC.cxx.
References CbmStack::AddPoint(), fAddress, fEloss, fLayerID, fLength, fModuleID, fMom, fPos, fPsdPoints, fTime, fTrackID, kPsd, CbmPsdPoint::SetModuleID(), and size().
|
inlinevirtual |
Register the output array.
Abstract from FairDetector.
Definition at line 119 of file CbmPsdMC.h.
References fPsdPoints.
|
private |
module ID
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 220 of file CbmPsdMC.cxx.
References CheckIfSensitive(), and RegisterSensitiveVolumes().
Referenced by RegisterSensitiveVolumes().
|
inlinevirtual |
Clear output array.
Abstract from FairDetector.
Definition at line 126 of file CbmPsdMC.h.
References fPsdPoints.
|
inline |
Define the PSD position in the cave.
xPos | x Position in the cave [cm] |
zPos | z position in the cave [cm] |
rotY | Rotation angle around y axis [degrees] |
When this method is invoked, the transformation matrix read from the geometry file will be overridden with a translation by (xPos, 0, zPos) and a rotation around the y axis by rotY degrees.
Definition at line 138 of file CbmPsdMC.h.
References fPosX, fPosZ, fRotY, and fUserPlacement.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Definition at line 148 of file CbmPsdMC.h.
Referenced by SetPosition().
|
private |
Definition at line 149 of file CbmPsdMC.h.
Referenced by SetPosition().
|
private |
Definition at line 152 of file CbmPsdMC.h.
Referenced by EndOfEvent(), GetCollection(), Print(), ProcessHits(), Register(), Reset(), and ~CbmPsdMC().
|
private |
Definition at line 150 of file CbmPsdMC.h.
Referenced by SetPosition().
|
private |
|
private |
Output array.
Track information to be temporarily stored
Definition at line 155 of file CbmPsdMC.h.
Referenced by ProcessHits().
|
private |
Definition at line 151 of file CbmPsdMC.h.
Referenced by SetPosition().