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

Defines the active detector RICH. Constructs the geometry and creates MCPoints. More...

#include <CbmRich.h>

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

Public Member Functions

 CbmRich ()
 Default constructor.
 
 CbmRich (const char *name, Bool_t active, Double_t px=0., Double_t py=0., Double_t pz=258.75, Double_t rx=0., Double_t ry=0., Double_t rz=0.)
 Constructor for the GDML geometry.
 
virtual ~CbmRich ()
 Destructor.
 
virtual void Initialize ()
 Initialize detector. Stores volume IDs for RICH detector and mirror.
 
virtual Bool_t ProcessHits (FairVolume *vol=nullptr)
 Defines the action to be taken when a step is inside the active volume. Creates CbmRichPoints for MAPMT pixels, sensitive reference plane, mirror and adds them to seperate hit collections.
 
virtual void EndOfEvent ()
 If verbosity level is set, print hit collection at the end of the event and resets it afterwards.
 
virtual void Register ()
 Registers the hit collection in the ROOT manager.
 
virtual TClonesArray * GetCollection (Int_t iColl) const
 Return hit collection.
 
virtual void Print (Option_t *) const
 Screen output of hit collection.
 
virtual void Reset ()
 Clears the hit collection.
 
virtual void CopyClones (TClonesArray *cl1, TClonesArray *cl2, Int_t offset)
 Copies the hit collection with a given track index offset.
 
virtual void ConstructGeometry ()
 Construct geometry. Currently ROOT and ASCII formats are supported. The concrete method for geometry construction is called according to geometry file.
 
void ConstructGdmlGeometry (TGeoMatrix *geoMatrix)
 Construct geometry from GDML file.
 
void ExpandNodeForGdml (TGeoNode *node)
 Assign materials by taking description from medoa.geo and not from GDML for a certain node.
 
void ConstructOpGeometry ()
 Put some optical properties.
 
void SetRichGlassPropertiesForGeant4 ()
 Set Cherenkov propeties for RICH mirror.
 
virtual Bool_t CheckIfSensitive (std::string name)
 Check whether a volume is sensitive. The decision is based on the volume name. Only used in case of ROOT geometry.
 
virtual Bool_t IsSensitive (const std::string &name)
 
void SetRegisterPhotonsOnSensitivePlane (Bool_t b)
 set fRegisterPhotonsOnSensitivePlane parameter
 

Private Member Functions

CbmRichPointAddHit (Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t time, Double_t length, Double_t eLoss)
 Adds a RichPoint to the TClonesArray.
 
CbmRichPointAddRefPlaneHit (Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t time, Double_t length, Double_t eLoss)
 Adds a RichRefPlanePoint to the TClonesArray.
 
CbmRichPointAddMirrorHit (Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t time, Double_t length, Double_t eLoss)
 Adds a RichMirrorPoint to the TClonesArray.
 
 CbmRich (const CbmRich &)
 Copy constructor.
 
CbmRichoperator= (const CbmRich &)
 Assignment operator.
 

Private Attributes

Int_t fPosIndex
 
Bool_t fRegisterPhotonsOnSensitivePlane
 
TClonesArray * fRichPoints
 
TClonesArray * fRichRefPlanePoints
 
TClonesArray * fRichMirrorPoints
 
TGeoRotation * fRotation
 
TGeoCombiTrans * fPositionRotation
 

Static Private Attributes

static std::map< TString, TGeoMedium * > fFixedMedia
 

Detailed Description

Defines the active detector RICH. Constructs the geometry and creates MCPoints.

Author
Volker Friese
Date
2004

Definition at line 40 of file CbmRich.h.

Constructor & Destructor Documentation

◆ CbmRich() [1/3]

CbmRich::CbmRich ( )

Default constructor.

Definition at line 36 of file CbmRich.cxx.

◆ CbmRich() [2/3]

CbmRich::CbmRich ( const char * name,
Bool_t active,
Double_t px = 0.,
Double_t py = 0.,
Double_t pz = 258.75,
Double_t rx = 0.,
Double_t ry = 0.,
Double_t rz = 0. )

Constructor for the GDML geometry.

Parameters
[in]nameDetector name.
[in]activeSensitivity flag.
[in]pxPosition X.
[in]pyPosition Y.
[in]pzPosition Z from target to the center of the RICH detector. Z coordinate for v16a = 270, for v17a = 258.75
[in]rxRotation around X.
[in]ryRotation around Y.
[in]rzRotation around Z.

Definition at line 49 of file CbmRich.cxx.

◆ ~CbmRich()

CbmRich::~CbmRich ( )
virtual

Destructor.

Definition at line 63 of file CbmRich.cxx.

References fRichMirrorPoints, fRichPoints, and fRichRefPlanePoints.

◆ CbmRich() [3/3]

CbmRich::CbmRich ( const CbmRich & )
private

Copy constructor.

Member Function Documentation

◆ AddHit()

CbmRichPoint * CbmRich::AddHit ( Int_t trackID,
Int_t detID,
TVector3 pos,
TVector3 mom,
Double_t time,
Double_t length,
Double_t eLoss )
private

Adds a RichPoint to the TClonesArray.

Definition at line 506 of file CbmRich.cxx.

References fRichPoints, pos, and size().

Referenced by ProcessHits().

◆ AddMirrorHit()

CbmRichPoint * CbmRich::AddMirrorHit ( Int_t trackID,
Int_t detID,
TVector3 pos,
TVector3 mom,
Double_t time,
Double_t length,
Double_t eLoss )
private

Adds a RichMirrorPoint to the TClonesArray.

Definition at line 522 of file CbmRich.cxx.

References fRichMirrorPoints, and pos.

Referenced by ProcessHits().

◆ AddRefPlaneHit()

CbmRichPoint * CbmRich::AddRefPlaneHit ( Int_t trackID,
Int_t detID,
TVector3 pos,
TVector3 mom,
Double_t time,
Double_t length,
Double_t eLoss )
private

Adds a RichRefPlanePoint to the TClonesArray.

Definition at line 514 of file CbmRich.cxx.

References fRichRefPlanePoints, and pos.

Referenced by ProcessHits().

◆ CheckIfSensitive()

Bool_t CbmRich::CheckIfSensitive ( std::string name)
virtual

Check whether a volume is sensitive. The decision is based on the volume name. Only used in case of ROOT geometry.

Since
11.06.2012
Parameters
nameVolume name
Returns
kTRUE if volume is sensitive, else kFALSE

Definition at line 96 of file CbmRich.cxx.

References IsSensitive().

◆ ConstructGdmlGeometry()

void CbmRich::ConstructGdmlGeometry ( TGeoMatrix * geoMatrix)

Construct geometry from GDML file.

Parameters
[in]geoMatrixPosition and rotation of the RICH detector.

Definition at line 349 of file CbmRich.cxx.

References ExpandNodeForGdml().

Referenced by ConstructGeometry().

◆ ConstructGeometry()

void CbmRich::ConstructGeometry ( )
virtual

Construct geometry. Currently ROOT and ASCII formats are supported. The concrete method for geometry construction is called according to geometry file.

Transformation matrix for geometry positioning

Definition at line 275 of file CbmRich.cxx.

References ConstructGdmlGeometry(), fPositionRotation, Cbm::GeometryUtils::ImportRootGeometry(), and Cbm::GeometryUtils::IsNewGeometryFile().

◆ ConstructOpGeometry()

void CbmRich::ConstructOpGeometry ( )

Put some optical properties.

Definition at line 269 of file CbmRich.cxx.

References SetRichGlassPropertiesForGeant4().

◆ CopyClones()

void CbmRich::CopyClones ( TClonesArray * cl1,
TClonesArray * cl2,
Int_t offset )
virtual

Copies the hit collection with a given track index offset.

Parameters
[in]cl1Origin array.
[out]cl2Target array.
[in]offsetIndex offset.

Definition at line 253 of file CbmRich.cxx.

References fPosIndex.

◆ EndOfEvent()

void CbmRich::EndOfEvent ( )
virtual

If verbosity level is set, print hit collection at the end of the event and resets it afterwards.

Definition at line 214 of file CbmRich.cxx.

References Print(), and Reset().

◆ ExpandNodeForGdml()

void CbmRich::ExpandNodeForGdml ( TGeoNode * node)

Assign materials by taking description from medoa.geo and not from GDML for a certain node.

Parameters
[in]nodeGeoNode.

This should not happen. This means that somebody uses material in GDML that is not in the media.geo file. Most probably this is the sign to the user to check materials' names in the CATIA model.

Recursevly go down the tree of nodes

Definition at line 393 of file CbmRich.cxx.

References ExpandNodeForGdml(), and fFixedMedia.

Referenced by ConstructGdmlGeometry(), and ExpandNodeForGdml().

◆ GetCollection()

TClonesArray * CbmRich::GetCollection ( Int_t iColl) const
virtual

Return hit collection.

Definition at line 227 of file CbmRich.cxx.

References fRichMirrorPoints, fRichPoints, and fRichRefPlanePoints.

◆ Initialize()

void CbmRich::Initialize ( )
virtual

Initialize detector. Stores volume IDs for RICH detector and mirror.

Definition at line 80 of file CbmRich.cxx.

References CbmRichDigiMapManager::GetInstance().

◆ IsSensitive()

Bool_t CbmRich::IsSensitive ( const std::string & name)
virtual

Definition at line 86 of file CbmRich.cxx.

Referenced by CheckIfSensitive().

◆ operator=()

CbmRich & CbmRich::operator= ( const CbmRich & )
private

Assignment operator.

◆ Print()

void CbmRich::Print ( Option_t * ) const
virtual

Screen output of hit collection.

Definition at line 235 of file CbmRich.cxx.

References fRichPoints.

Referenced by EndOfEvent().

◆ ProcessHits()

Bool_t CbmRich::ProcessHits ( FairVolume * vol = nullptr)
virtual

Defines the action to be taken when a step is inside the active volume. Creates CbmRichPoints for MAPMT pixels, sensitive reference plane, mirror and adds them to seperate hit collections.

Parameters
[in]volPointer to the active volume.

Definition at line 99 of file CbmRich.cxx.

References AddHit(), AddMirrorHit(), CbmStack::AddPoint(), AddRefPlaneHit(), fRegisterPhotonsOnSensitivePlane, CbmRichDigiMapManager::GetInstance(), CbmRichDigiMapManager::GetPixelAddressByPath(), kRef, and kRich.

◆ Register()

void CbmRich::Register ( )
virtual

Registers the hit collection in the ROOT manager.

Definition at line 220 of file CbmRich.cxx.

References fRichMirrorPoints, fRichPoints, and fRichRefPlanePoints.

◆ Reset()

void CbmRich::Reset ( )
virtual

Clears the hit collection.

Definition at line 245 of file CbmRich.cxx.

References fPosIndex, fRichMirrorPoints, fRichPoints, and fRichRefPlanePoints.

Referenced by EndOfEvent().

◆ SetRegisterPhotonsOnSensitivePlane()

void CbmRich::SetRegisterPhotonsOnSensitivePlane ( Bool_t b)
inline

set fRegisterPhotonsOnSensitivePlane parameter

Definition at line 156 of file CbmRich.h.

References fRegisterPhotonsOnSensitivePlane.

◆ SetRichGlassPropertiesForGeant4()

void CbmRich::SetRichGlassPropertiesForGeant4 ( )

Set Cherenkov propeties for RICH mirror.

Definition at line 299 of file CbmRich.cxx.

Referenced by ConstructOpGeometry().

Member Data Documentation

◆ fFixedMedia

std::map< TString, TGeoMedium * > CbmRich::fFixedMedia
staticprivate

Definition at line 170 of file CbmRich.h.

Referenced by ExpandNodeForGdml().

◆ fPosIndex

Int_t CbmRich::fPosIndex
private

Definition at line 159 of file CbmRich.h.

Referenced by CopyClones(), and Reset().

◆ fPositionRotation

TGeoCombiTrans* CbmRich::fPositionRotation
private

Definition at line 172 of file CbmRich.h.

Referenced by ConstructGeometry().

◆ fRegisterPhotonsOnSensitivePlane

Bool_t CbmRich::fRegisterPhotonsOnSensitivePlane
private

Definition at line 163 of file CbmRich.h.

Referenced by ProcessHits(), and SetRegisterPhotonsOnSensitivePlane().

◆ fRichMirrorPoints

TClonesArray* CbmRich::fRichMirrorPoints
private

Definition at line 167 of file CbmRich.h.

Referenced by AddMirrorHit(), GetCollection(), Register(), Reset(), and ~CbmRich().

◆ fRichPoints

TClonesArray* CbmRich::fRichPoints
private

Definition at line 165 of file CbmRich.h.

Referenced by AddHit(), GetCollection(), Print(), Register(), Reset(), and ~CbmRich().

◆ fRichRefPlanePoints

TClonesArray* CbmRich::fRichRefPlanePoints
private

Definition at line 166 of file CbmRich.h.

Referenced by AddRefPlaneHit(), GetCollection(), Register(), Reset(), and ~CbmRich().

◆ fRotation

TGeoRotation* CbmRich::fRotation
private

Definition at line 171 of file CbmRich.h.


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