CbmRoot
Loading...
Searching...
No Matches
CbmFsdMC Class Reference

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

#include <CbmFsdMC.h>

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

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
 

Detailed Description

Class for the MC transport of the CBM-FSD.

Since
14.07.2023
Author
Lukas Chlad l.chl.nosp@m.ad@g.nosp@m.si.de
Version
1.0

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.

Constructor & Destructor Documentation

◆ CbmFsdMC() [1/2]

CbmFsdMC::CbmFsdMC ( Bool_t active = kTRUE,
const char * name = "FSDMC" )
inline

Constructor.

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

Definition at line 39 of file CbmFsdMC.h.

◆ ~CbmFsdMC()

CbmFsdMC::~CbmFsdMC ( )
virtual

Destructor

Definition at line 30 of file CbmFsdMC.cxx.

References fFsdPoints.

◆ CbmFsdMC() [2/2]

CbmFsdMC::CbmFsdMC ( const CbmFsdMC & )
delete

Prevent copy constructor and assignment operator

Member Function Documentation

◆ CheckIfSensitive()

virtual Bool_t CbmFsdMC::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 70 of file CbmFsdMC.h.

References IsSensitive().

Referenced by RegisterSensitiveVolumes().

◆ ConstructGeometry()

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

◆ EndOfEvent()

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

◆ GetCollection()

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

Get output array of CbmFsdPoints.

Accessor to the hit collection

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

◆ Initialize()

void CbmFsdMC::Initialize ( )
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.

◆ IsSensitive()

virtual Bool_t CbmFsdMC::IsSensitive ( const 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 58 of file CbmFsdMC.h.

Referenced by CheckIfSensitive().

◆ operator=()

CbmFsdMC CbmFsdMC::operator= ( const CbmFsdMC & )
delete

◆ Print()

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

◆ ProcessHits()

Bool_t CbmFsdMC::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 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().

◆ Register()

virtual void CbmFsdMC::Register ( )
inlinevirtual

Register the output array.

Abstract from FairDetector.

Definition at line 131 of file CbmFsdMC.h.

References fFsdPoints.

◆ RegisterSensitiveVolumes()

void CbmFsdMC::RegisterSensitiveVolumes ( TGeoNode * node)
private

energy loss

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 120 of file CbmFsdMC.cxx.

References CheckIfSensitive(), and RegisterSensitiveVolumes().

Referenced by RegisterSensitiveVolumes().

◆ Reset()

virtual void CbmFsdMC::Reset ( )
inlinevirtual

Clear output array.

Abstract from FairDetector.

Definition at line 138 of file CbmFsdMC.h.

References fFsdPoints.

Member Data Documentation

◆ fAddress

Int_t CbmFsdMC::fAddress = -1
private

track index

Definition at line 145 of file CbmFsdMC.h.

Referenced by ProcessHits().

◆ fEloss

Double_t CbmFsdMC::fEloss = -1.
private

length

Definition at line 150 of file CbmFsdMC.h.

Referenced by ProcessHits().

◆ fFsdPoints

TClonesArray* CbmFsdMC::fFsdPoints = nullptr
private

◆ fLength

Double_t CbmFsdMC::fLength = -1.
private

time

Definition at line 149 of file CbmFsdMC.h.

Referenced by ProcessHits().

◆ fMom

TLorentzVector CbmFsdMC::fMom {}
private

position

Definition at line 147 of file CbmFsdMC.h.

Referenced by ProcessHits().

◆ fPos

TLorentzVector CbmFsdMC::fPos {}
private

address (module and layer)

Definition at line 146 of file CbmFsdMC.h.

Referenced by ProcessHits().

◆ fTime

Double_t CbmFsdMC::fTime = -1.
private

momentum

Definition at line 148 of file CbmFsdMC.h.

Referenced by ProcessHits().

◆ fTrackID

Int_t CbmFsdMC::fTrackID = -1
private

Output array.

Track information to be temporarily stored

Definition at line 144 of file CbmFsdMC.h.

Referenced by ProcessHits().


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