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. More... | |
virtual | ~CbmPsdMC () |
virtual Bool_t | CheckIfSensitive (std::string name) |
Check whether a volume is sensitive. More... | |
virtual void | ConstructGeometry () |
Construct the PSD geometry in the TGeoManager. More... | |
virtual void | EndOfEvent () |
Action at end of event. More... | |
virtual TClonesArray * | GetCollection (Int_t iColl) const |
Get output array of CbmPsdPoints. More... | |
virtual void | Print (Option_t *opt="") const |
Screen log Prints current number of StsPoints in array. Virtual from TObject. More... | |
virtual Bool_t | ProcessHits (FairVolume *volume=0) |
Stepping action. More... | |
virtual void | Register () |
Register the output array. More... | |
virtual void | Reset () |
Clear output array. More... | |
void | SetPosition (Double_t xPos, Double_t zPos, Double_t rotY) |
Define the PSD position in the cave. More... | |
Private Member Functions | |
void | RegisterSensitiveVolumes (TGeoNode *node) |
module ID More... | |
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. More... | |
Int_t | fAddress |
track index More... | |
TLorentzVector | fPos |
address (module and layer) More... | |
TLorentzVector | fMom |
position More... | |
Double_t | fTime |
momentum More... | |
Double_t | fLength |
time More... | |
Double_t | fEloss |
length More... | |
Int_t | fLayerID |
energy loss More... | |
Int_t | fModuleID |
layer ID More... | |
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 29 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 26 of file CbmPsdMC.cxx.
References kPsd.
|
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 50 of file CbmPsdMC.h.
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 56 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 137 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 79 of file CbmPsdMC.h.
References fPsdPoints.
|
virtual |
Screen log Prints current number of StsPoints in array. Virtual from TObject.
Definition at line 145 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 153 of file CbmPsdMC.cxx.
References CbmStack::AddPoint(), fAddress, fEloss, fLayerID, fLength, fModuleID, fMom, fPos, fPsdPoints, fTime, fTrackID, kPsd, and CbmPsdPoint::SetModuleID().
|
inlinevirtual |
Register the output array.
Abstract from FairDetector.
Definition at line 107 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 200 of file CbmPsdMC.cxx.
References CheckIfSensitive().
|
inlinevirtual |
Clear output array.
Abstract from FairDetector.
Definition at line 117 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 129 of file CbmPsdMC.h.
References fPosX, fPosZ, fRotY, and fUserPlacement.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Definition at line 138 of file CbmPsdMC.h.
Referenced by SetPosition().
|
private |
Definition at line 139 of file CbmPsdMC.h.
Referenced by SetPosition().
|
private |
Definition at line 142 of file CbmPsdMC.h.
Referenced by EndOfEvent(), GetCollection(), Print(), ProcessHits(), Register(), Reset(), and ~CbmPsdMC().
|
private |
Definition at line 140 of file CbmPsdMC.h.
Referenced by SetPosition().
|
private |
|
private |
Output array.
Track information to be temporarily stored
Definition at line 145 of file CbmPsdMC.h.
Referenced by ProcessHits().
|
private |
Definition at line 141 of file CbmPsdMC.h.
Referenced by SetPosition().