BmnRoot
Loading...
Searching...
No Matches
BmnSsdMC Class Reference

Class for the MC transport of the BMN-SSD. More...

#include <BmnSsdMC.h>

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

Public Member Functions

 BmnSsdMC (Bool_t active=kTRUE, const char *name="SSDMC")
 
virtual ~BmnSsdMC ()
 
virtual Bool_t CheckIfSensitive (std::string name)
 Check whether a volume is sensitive.
 
virtual void ConstructGeometry ()
 Construct the SSD geometry in the TGeoManager.
 
virtual void EndOfEvent ()
 Action at end of event.
 
virtual void Initialize ()
 Initialisation.
 
virtual TClonesArray * GetCollection (Int_t iColl) const
 Get array of BmnSsdPoints.
 
virtual void Print (Option_t *opt="") const
 Screen log Prints current number of SsdPoints in array. Virtual from TObject.
 
virtual Bool_t ProcessHits (FairVolume *vol=0)
 Action for a track step in a sensitive node of the SSD.
 
virtual void Register ()
 Register output array (SsdPoint) to the I/O manager.
 
void ProcessNeutrals (Bool_t choice=kTRUE)
 Create SsdPoints also for neutral particles.
 
virtual void Reset ()
 Clear output array and reset current track status.
 
virtual void ConstructRootGeometry ()
 
void ExpandSsdNodes (TGeoNode *fN)
 

Detailed Description

Class for the MC transport of the BMN-SSD.

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

The BmnSsdMC defines the behaviour of the SSD system during transport simulation. It constructs the SSD transport geometry and creates objects of type BmnSsdPoints.

Definition at line 35 of file BmnSsdMC.h.

Constructor & Destructor Documentation

◆ BmnSsdMC()

BmnSsdMC::BmnSsdMC ( Bool_t  active = kTRUE,
const char *  name = "SSDMC" 
)

Constructor

Parameters
activeIf set true, ProcessHits will be called and BmnSsdPoints will be created.
nameName of detector object

Definition at line 31 of file BmnSsdMC.cxx.

◆ ~BmnSsdMC()

BmnSsdMC::~BmnSsdMC ( )
virtual

Destructor

Definition at line 48 of file BmnSsdMC.cxx.

Member Function Documentation

◆ CheckIfSensitive()

virtual Bool_t BmnSsdMC::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 "Sensor"). Virtual from FairModule.

Definition at line 58 of file BmnSsdMC.h.

Referenced by ExpandSsdNodes().

◆ ConstructGeometry()

void BmnSsdMC::ConstructGeometry ( )
virtual

Construct the SSD geometry in the TGeoManager.

Only ROOT geometries are supported. The method FairDetector::ConstructRootGeometry() is called. Virtual from FairModule.

Definition at line 63 of file BmnSsdMC.cxx.

References ConstructRootGeometry().

◆ ConstructRootGeometry()

void BmnSsdMC::ConstructRootGeometry ( )
virtual

Definition at line 327 of file BmnSsdMC.cxx.

References ExpandSsdNodes().

Referenced by ConstructGeometry().

◆ EndOfEvent()

void BmnSsdMC::EndOfEvent ( )
virtual

Action at end of event.

Short status log and Reset(). Virtual from FairDetector.

Definition at line 82 of file BmnSsdMC.cxx.

References Print(), and Reset().

◆ ExpandSsdNodes()

void BmnSsdMC::ExpandSsdNodes ( TGeoNode *  fN)

Definition at line 341 of file BmnSsdMC.cxx.

References CheckIfSensitive(), ExpandSsdNodes(), and v.

Referenced by ConstructRootGeometry(), and ExpandSsdNodes().

◆ GetCollection()

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

Get array of BmnSsdPoints.

Parameters
iCollnumber of point collection
Returns
Pointer to SsdPoint array. NULL if iColl > 0.

Abstract from FairDetector.

Definition at line 92 of file BmnSsdMC.h.

◆ Initialize()

void BmnSsdMC::Initialize ( )
virtual

Initialisation.

The output array is created and the map from full node path to unique address is filled from BmnSsdSetup. Then, the base class method FairDetector::Initialize() is called. Virtual from FairDetector.

Definition at line 91 of file BmnSsdMC.cxx.

References BmnSsdElement::GetAddress(), BmnSsdElement::GetDaughter(), BmnSsdElement::GetNofDaughters(), BmnSsdElement::GetPnode(), BmnSsdSetup::Init(), and BmnSsdSetup::Instance().

◆ Print()

void BmnSsdMC::Print ( Option_t *  opt = "") const
virtual

Screen log Prints current number of SsdPoints in array. Virtual from TObject.

Definition at line 197 of file BmnSsdMC.cxx.

Referenced by EndOfEvent().

◆ ProcessHits()

Bool_t BmnSsdMC::ProcessHits ( FairVolume *  vol = 0)
virtual

Action for a track step in a sensitive node of the SSD.

Parameters
volPointer to the active volume
Returns
kTRUE

The track status is registered when entering or exiting. For all steps, the energy loss is accumulated. When the track exits the sensitive node (sensor), a BmnSsdPoint is created (see CreatePoint()), if the total energy loss in the sensor is non-vanishing (e.g., no neutral tracks are registered). Abstract from FairDetector.

Definition at line 144 of file BmnSsdMC.cxx.

References CbmStack::AddPoint(), kSSD, and BmnSsdTrackStatus::Reset().

◆ ProcessNeutrals()

void BmnSsdMC::ProcessNeutrals ( Bool_t  choice = kTRUE)
inline

Create SsdPoints also for neutral particles.

Parameters
choiceIf kTRUE, SsdPoints are created also for neutrals

By default, SsdPoints are only created if there is non-vanishing energy loss for the particle in the detector. Neutral particles do normally not deposit energy, such that no SsdPoints are created. For some applications however, e.g. for the calculation of the radiation dose, the neutron flux is required. For such cases, the creation of SsdPoints for neutrals can be activated by this method.

Definition at line 135 of file BmnSsdMC.h.

◆ Register()

virtual void BmnSsdMC::Register ( )
inlinevirtual

Register output array (SsdPoint) to the I/O manager.

Abstract from FairDetector.

Definition at line 120 of file BmnSsdMC.h.

◆ Reset()

void BmnSsdMC::Reset ( )
virtual

Clear output array and reset current track status.

Abstract from FairDetector.

Definition at line 186 of file BmnSsdMC.cxx.

References BmnSsdTrackStatus::Reset().

Referenced by EndOfEvent().


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