CbmRoot
CbmPsdMC Class Reference

Class for the MC transport of the CBM-PSD. More...

#include <CbmPsdMC.h>

Inheritance diagram for CbmPsdMC:
[legend]
Collaboration diagram for CbmPsdMC:
[legend]

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...
 

Detailed Description

Class for the MC transport of the CBM-PSD.

Author
V.Friese v.fri.nosp@m.ese@.nosp@m.gsi.d.nosp@m.e
Version
2.0

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.

Constructor & Destructor Documentation

◆ CbmPsdMC() [1/2]

CbmPsdMC::CbmPsdMC ( Bool_t  active = kTRUE,
const char *  name = "PSDMC" 
)

Constructor.

Parameters
activeIf set true, ProcessHits will be called
nameName of detector object

Definition at line 26 of file CbmPsdMC.cxx.

References kPsd.

◆ ~CbmPsdMC()

CbmPsdMC::~CbmPsdMC ( )
virtual

Destructor

Definition at line 46 of file CbmPsdMC.cxx.

References fPsdPoints.

◆ CbmPsdMC() [2/2]

CbmPsdMC::CbmPsdMC ( const CbmPsdMC )
privatedelete

Prevent copy constructor and assignment operator

Member Function Documentation

◆ CheckIfSensitive()

virtual Bool_t CbmPsdMC::CheckIfSensitive ( std::string  name)
inlinevirtual

Check whether a volume is sensitive.

Parameters
(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().

◆ ConstructGeometry()

void CbmPsdMC::ConstructGeometry ( )
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().

◆ EndOfEvent()

void CbmPsdMC::EndOfEvent ( )
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().

◆ GetCollection()

virtual TClonesArray* CbmPsdMC::GetCollection ( Int_t  iColl) const
inlinevirtual

Get output array of CbmPsdPoints.

Accessor to the hit collection

Parameters
iCollNumber 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.

◆ operator=()

CbmPsdMC CbmPsdMC::operator= ( const CbmPsdMC )
privatedelete

◆ Print()

void CbmPsdMC::Print ( Option_t *  opt = "") const
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().

◆ ProcessHits()

Bool_t CbmPsdMC::ProcessHits ( FairVolume *  volume = 0)
virtual

Stepping action.

Parameters
volumePointer 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().

◆ Register()

virtual void CbmPsdMC::Register ( )
inlinevirtual

Register the output array.

Abstract from FairDetector.

Definition at line 107 of file CbmPsdMC.h.

References fPsdPoints.

◆ RegisterSensitiveVolumes()

void CbmPsdMC::RegisterSensitiveVolumes ( TGeoNode *  node)
private

module ID

Register all sensitive volumes

Parameters
nodePointer 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().

◆ Reset()

virtual void CbmPsdMC::Reset ( )
inlinevirtual

Clear output array.

Abstract from FairDetector.

Definition at line 117 of file CbmPsdMC.h.

References fPsdPoints.

◆ SetPosition()

void CbmPsdMC::SetPosition ( Double_t  xPos,
Double_t  zPos,
Double_t  rotY 
)
inline

Define the PSD position in the cave.

Parameters
xPosx Position in the cave [cm]
zPosz position in the cave [cm]
rotYRotation 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.

Member Data Documentation

◆ fAddress

Int_t CbmPsdMC::fAddress
private

track index

Definition at line 146 of file CbmPsdMC.h.

Referenced by ProcessHits().

◆ fEloss

Double_t CbmPsdMC::fEloss
private

length

Definition at line 151 of file CbmPsdMC.h.

Referenced by ProcessHits().

◆ fLayerID

Int_t CbmPsdMC::fLayerID
private

energy loss

Definition at line 152 of file CbmPsdMC.h.

Referenced by ProcessHits().

◆ fLength

Double_t CbmPsdMC::fLength
private

time

Definition at line 150 of file CbmPsdMC.h.

Referenced by ProcessHits().

◆ fModuleID

Int_t CbmPsdMC::fModuleID
private

layer ID

Definition at line 153 of file CbmPsdMC.h.

Referenced by ProcessHits().

◆ fMom

TLorentzVector CbmPsdMC::fMom
private

position

Definition at line 148 of file CbmPsdMC.h.

Referenced by ProcessHits().

◆ fPos

TLorentzVector CbmPsdMC::fPos
private

address (module and layer)

Definition at line 147 of file CbmPsdMC.h.

Referenced by ProcessHits().

◆ fPosX

Double_t CbmPsdMC::fPosX
private

Definition at line 138 of file CbmPsdMC.h.

Referenced by SetPosition().

◆ fPosZ

Double_t CbmPsdMC::fPosZ
private

Definition at line 139 of file CbmPsdMC.h.

Referenced by SetPosition().

◆ fPsdPoints

TClonesArray* CbmPsdMC::fPsdPoints
private

Definition at line 142 of file CbmPsdMC.h.

Referenced by EndOfEvent(), GetCollection(), Print(), ProcessHits(), Register(), Reset(), and ~CbmPsdMC().

◆ fRotY

Double_t CbmPsdMC::fRotY
private

Definition at line 140 of file CbmPsdMC.h.

Referenced by SetPosition().

◆ fTime

Double_t CbmPsdMC::fTime
private

momentum

Definition at line 149 of file CbmPsdMC.h.

Referenced by ProcessHits().

◆ fTrackID

Int_t CbmPsdMC::fTrackID
private

Output array.

Track information to be temporarily stored

Definition at line 145 of file CbmPsdMC.h.

Referenced by ProcessHits().

◆ fUserPlacement

Bool_t CbmPsdMC::fUserPlacement
private

Definition at line 141 of file CbmPsdMC.h.

Referenced by SetPosition().


The documentation for this class was generated from the following files: