CbmRoot
CbmStsSimSensor Class Referenceabstract

Class for the simulation of a sensor in the CBM-STS. More...

#include <CbmStsSimSensor.h>

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

Public Member Functions

 CbmStsSimSensor (CbmStsElement *element=nullptr)
 Standard constructor. More...
 
 CbmStsSimSensor (const CbmStsSimSensor &)=delete
 Copy constructor (disabled) More...
 
CbmStsSimSensoroperator= (const CbmStsSimSensor &)=delete
 Assignment operator (disabled) More...
 
virtual ~CbmStsSimSensor ()
 Destructor
More...
 
const CbmStsParSensorCondGetConditions () const
 Sensor conditions. More...
 
CbmLinkGetCurrentLink () const
 Current link object. More...
 
CbmStsElementGetElement () const
 Corresponding element in STS setup. More...
 
CbmStsSimModuleGetModule () const
 Simulation module. More...
 
virtual Bool_t Init ()
 Initialise the sensor, if needed. More...
 
Int_t GetSensorId () const
 Sensor ID. More...
 
Int_t ProcessPoint (const CbmStsPoint *point, Double_t eventTime=0., CbmLink *link=NULL)
 Process one MC Point. More...
 
void SetConditions (const CbmStsParSensorCond *conditions)
 
void SetElement (CbmStsElement *element)
 Set the corresponding STS setup element. More...
 
void SetField (Double_t bX, Double_t bY, Double_t bZ)
 Set the magnetic field in the sensor centre. More...
 
void SetModule (CbmStsSimModule *module)
 Set the corresponding simulation module. More...
 
void SetSimSettings (const CbmStsParSim *settings)
 Set the simulation settings. More...
 
virtual std::string ToString () const =0
 Set the sensor parameters. More...
 

Static Public Member Functions

static UInt_t GetAddressFromName (TString name)
 Get the address from the sensor name (static) More...
 

Protected Member Functions

virtual Int_t CalculateResponse (CbmStsSensorPoint *point)=0
 Link to currently processed MCPoint. More...
 
 ClassDef (CbmStsSimSensor, 1)
 

Protected Attributes

CbmStsElementfElement = nullptr
 
CbmStsSimModulefModule = nullptr
 Setup element. More...
 
const CbmStsParSimfSettings = nullptr
 Simulation module. More...
 
const CbmStsParSensorCondfConditions = nullptr
 Simulation settings. More...
 
Double_t fBx = 0.
 Operating conditions. More...
 
Double_t fBy = 0.
 y component of magnetic field in sensor centre More...
 
Double_t fBz = 0.
 z component of magnetic field in sensor centre More...
 
CbmLinkfCurrentLink = nullptr
 

Detailed Description

Class for the simulation of a sensor in the CBM-STS.

Author
V.Friese v.fri.nosp@m.ese@.nosp@m.gsi.d.nosp@m.e
Since
16.03.2020

The interface to the simulation is the method ProcessPoint(), which performs the coordinate transformation from the global system to the sensor system, having the sensor midpoint as origin. The analog response has to be implemented in the pure virtual method CalulateResponse().

Definition at line 32 of file CbmStsSimSensor.h.

Constructor & Destructor Documentation

◆ CbmStsSimSensor() [1/2]

CbmStsSimSensor::CbmStsSimSensor ( CbmStsElement element = nullptr)

Standard constructor.

Parameters
setupSensorPointer to sensor element in CbmStsSetup

◆ CbmStsSimSensor() [2/2]

CbmStsSimSensor::CbmStsSimSensor ( const CbmStsSimSensor )
delete

Copy constructor (disabled)

◆ ~CbmStsSimSensor()

virtual CbmStsSimSensor::~CbmStsSimSensor ( )
inlinevirtual

Destructor

Definition at line 50 of file CbmStsSimSensor.h.

Member Function Documentation

◆ CalculateResponse()

virtual Int_t CbmStsSimSensor::CalculateResponse ( CbmStsSensorPoint point)
protectedpure virtual

Link to currently processed MCPoint.

Perform response simulation for one MC Point

Parameters
pointPointer to CbmStsSensorPoint with relevant parameters
Returns
Status variable, depends on concrete type

Perform the appropriate action for a particle trajectory in the sensor characterised by the CbmStsSensorPoint object. This is specific to the sensor type and has to be implemented in the derived class.

Implemented in CbmStsSimSensorDssd.

Referenced by ProcessPoint().

◆ ClassDef()

CbmStsSimSensor::ClassDef ( CbmStsSimSensor  ,
 
)
protected

◆ GetAddressFromName()

UInt_t CbmStsSimSensor::GetAddressFromName ( TString  name)
static

Get the address from the sensor name (static)

Parameters
nameName of sensor @value Unique element address

Definition at line 30 of file CbmStsSimSensor.cxx.

References CbmStsAddress::GetAddress().

◆ GetConditions()

const CbmStsParSensorCond* CbmStsSimSensor::GetConditions ( ) const
inline

◆ GetCurrentLink()

CbmLink* CbmStsSimSensor::GetCurrentLink ( ) const
inline

Current link object.

Returns
Current link object (to CbmStsPoint)

Definition at line 69 of file CbmStsSimSensor.h.

References fCurrentLink.

Referenced by CbmStsSimSensorDssd::RegisterCharge().

◆ GetElement()

CbmStsElement* CbmStsSimSensor::GetElement ( ) const
inline

Corresponding element in STS setup.

Returns
Sensor element

Definition at line 75 of file CbmStsSimSensor.h.

References fElement.

◆ GetModule()

CbmStsSimModule* CbmStsSimSensor::GetModule ( ) const
inline

Simulation module.

Returns
Corresponding simulation module

Definition at line 81 of file CbmStsSimSensor.h.

References fModule.

Referenced by CbmStsSimSensorDssd::CalculateResponse(), and CbmStsSimSensorDssd::RegisterCharge().

◆ GetSensorId()

Int_t CbmStsSimSensor::GetSensorId ( ) const

◆ Init()

virtual Bool_t CbmStsSimSensor::Init ( )
inlinevirtual

Initialise the sensor, if needed.

Returns
kTRUE is successfully initialised

The implementation depends on the concrete sensor class.

Reimplemented in CbmStsSimSensorDssdStereo, and CbmStsSimSensorDssdOrtho.

Definition at line 89 of file CbmStsSimSensor.h.

◆ operator=()

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

Assignment operator (disabled)

◆ ProcessPoint()

Int_t CbmStsSimSensor::ProcessPoint ( const CbmStsPoint point,
Double_t  eventTime = 0.,
CbmLink link = NULL 
)

Process one MC Point.

Parameters
pointPointer to CbmStsPoint object
Returns
Status variable, depends on sensor type

The point coordinates are converted into the internal coordinate system. The appropriate analogue response is then calculated with the pure virtual method CalculateResponse.

Definition at line 52 of file CbmStsSimSensor.cxx.

References CalculateResponse(), fCurrentLink, fElement, CbmStsPoint::GetPid(), CbmStsElement::GetPnode(), CbmStsPoint::GetPxOut(), CbmStsPoint::GetPyOut(), CbmStsPoint::GetPzOut(), CbmStsPoint::GetXIn(), CbmStsPoint::GetXOut(), CbmStsPoint::GetYIn(), CbmStsPoint::GetYOut(), CbmStsPoint::GetZIn(), CbmStsPoint::GetZOut(), CbmStsPoint::IsEntry(), z1, and z2.

◆ SetConditions()

void CbmStsSimSensor::SetConditions ( const CbmStsParSensorCond conditions)
inline

Set the sensor conditions

Parameters
conditionsPointer to conditions parameters

Definition at line 114 of file CbmStsSimSensor.h.

References fConditions.

◆ SetElement()

void CbmStsSimSensor::SetElement ( CbmStsElement element)
inline

Set the corresponding STS setup element.

Parameters
Pointerto setup element

Definition at line 122 of file CbmStsSimSensor.h.

References fElement.

◆ SetField()

void CbmStsSimSensor::SetField ( Double_t  bX,
Double_t  bY,
Double_t  bZ 
)
inline

Set the magnetic field in the sensor centre.

Parameters
bXx component of magnetic field [T]
bYy component of magnetic field [T]
bZz component of magnetic field [T]

The magnetic field is neede for the calculation of the Lorentz shift of charge carries in the sensor. The field is approximated to be constant.

Definition at line 134 of file CbmStsSimSensor.h.

References fBx, fBy, and fBz.

◆ SetModule()

void CbmStsSimSensor::SetModule ( CbmStsSimModule module)
inline

Set the corresponding simulation module.

Parameters
modulePointer to module

Definition at line 144 of file CbmStsSimSensor.h.

References fModule.

◆ SetSimSettings()

void CbmStsSimSensor::SetSimSettings ( const CbmStsParSim settings)
inline

Set the simulation settings.

Parameters
Simulationsetting parameteres

Definition at line 150 of file CbmStsSimSensor.h.

References fSettings.

◆ ToString()

virtual std::string CbmStsSimSensor::ToString ( ) const
pure virtual

Set the sensor parameters.

Parameters
parSensor parameter object

String output

Implemented in CbmStsSimSensorDssd, CbmStsSimSensorDssdStereo, and CbmStsSimSensorDssdOrtho.

Member Data Documentation

◆ fBx

Double_t CbmStsSimSensor::fBx = 0.
protected

Operating conditions.

x component of magnetic field in sensor centre

Definition at line 171 of file CbmStsSimSensor.h.

Referenced by SetField().

◆ fBy

Double_t CbmStsSimSensor::fBy = 0.
protected

y component of magnetic field in sensor centre

Definition at line 172 of file CbmStsSimSensor.h.

Referenced by SetField().

◆ fBz

Double_t CbmStsSimSensor::fBz = 0.
protected

z component of magnetic field in sensor centre

Definition at line 173 of file CbmStsSimSensor.h.

Referenced by SetField().

◆ fConditions

const CbmStsParSensorCond* CbmStsSimSensor::fConditions = nullptr
protected

Simulation settings.

Definition at line 170 of file CbmStsSimSensor.h.

Referenced by GetConditions(), SetConditions(), and CbmStsSimSensorDssdStereo::ToString().

◆ fCurrentLink

CbmLink* CbmStsSimSensor::fCurrentLink = nullptr
protected

Definition at line 174 of file CbmStsSimSensor.h.

Referenced by GetCurrentLink(), and ProcessPoint().

◆ fElement

◆ fModule

CbmStsSimModule* CbmStsSimSensor::fModule = nullptr
protected

Setup element.

Definition at line 167 of file CbmStsSimSensor.h.

Referenced by GetModule(), and SetModule().

◆ fSettings


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