CbmRoot
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. More...
 
 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. More...
 
virtual ~CbmRich ()
 Destructor. More...
 
virtual void Initialize ()
 Initialize detector. Stores volume IDs for RICH detector and mirror. More...
 
virtual Bool_t ProcessHits (FairVolume *vol=0)
 Defines the action to be taken when a step is inside the active volume. Creates CbmRichPoints and CbmRichMirrorPoints and adds them to the collections. More...
 
virtual void EndOfEvent ()
 If verbosity level is set, print hit collection at the end of the event and resets it afterwards. More...
 
virtual void Register ()
 Registers the hit collection in the ROOT manager. More...
 
virtual TClonesArray * GetCollection (Int_t iColl) const
 Return hit collection. More...
 
virtual void Print (Option_t *) const
 Screen output of hit collection. More...
 
virtual void Reset ()
 Clears the hit collection. More...
 
virtual void CopyClones (TClonesArray *cl1, TClonesArray *cl2, Int_t offset)
 Copies the hit collection with a given track index offset. More...
 
virtual void ConstructGeometry ()
 Construct geometry. Currently ROOT and ASCII formats are supported. The concrete method for geometry construction is called according to geometry file. More...
 
void ConstructGdmlGeometry (TGeoMatrix *geoMatrix)
 Construct geometry from GDML file. More...
 
void ExpandNodeForGdml (TGeoNode *node)
 Assign materials by taking description from medoa.geo and not from GDML for a certain node. More...
 
void ConstructOpGeometry ()
 Put some optical properties. More...
 
void SetRichGlassPropertiesForGeant4 ()
 Set Cherenkov propeties for RICH mirror. More...
 
virtual Bool_t CheckIfSensitive (std::string name)
 
void SetRegisterPhotonsOnSensitivePlane (Bool_t b)
 

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. More...
 
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. More...
 
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. More...
 
 CbmRich (const CbmRich &)
 Copy constructor. More...
 
CbmRichoperator= (const CbmRich &)
 Assignment operator. More...
 

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 38 of file CbmRich.h.

Constructor & Destructor Documentation

◆ CbmRich() [1/3]

CbmRich::CbmRich ( )

Default constructor.

Definition at line 44 of file CbmRich.cxx.

References kRich.

◆ 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 56 of file CbmRich.cxx.

References kRich.

◆ ~CbmRich()

CbmRich::~CbmRich ( )
virtual

Destructor.

Definition at line 75 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 543 of file CbmRich.cxx.

References fRichPoints, and pos.

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 569 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 556 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
(name)Volume name @value kTRUE if volume is sensitive, else kFALSE

Definition at line 93 of file CbmRich.cxx.

◆ ConstructGdmlGeometry()

void CbmRich::ConstructGdmlGeometry ( TGeoMatrix *  geoMatrix)

Construct geometry from GDML file.

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

Definition at line 372 of file CbmRich.cxx.

References ExpandNodeForGdml(), and m.

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 287 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 282 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 267 of file CbmRich.cxx.

References fPosIndex, and i.

◆ 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 230 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 417 of file CbmRich.cxx.

References fFixedMedia, i, and m.

Referenced by ConstructGdmlGeometry().

◆ GetCollection()

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

Return hit collection.

Definition at line 244 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 91 of file CbmRich.cxx.

◆ 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 251 of file CbmRich.cxx.

References fRichPoints, and i.

Referenced by EndOfEvent().

◆ ProcessHits()

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

Defines the action to be taken when a step is inside the active volume. Creates CbmRichPoints and CbmRichMirrorPoints and adds them to the collections.

Parameters
[in]volPointer to the active volume.

Definition at line 104 of file CbmRich.cxx.

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

◆ Register()

void CbmRich::Register ( )
virtual

Registers the hit collection in the ROOT manager.

Definition at line 235 of file CbmRich.cxx.

References fRichMirrorPoints, fRichPoints, and fRichRefPlanePoints.

◆ Reset()

void CbmRich::Reset ( )
virtual

Clears the hit collection.

Definition at line 260 of file CbmRich.cxx.

References fPosIndex, fRichMirrorPoints, fRichPoints, and fRichRefPlanePoints.

Referenced by EndOfEvent().

◆ SetRegisterPhotonsOnSensitivePlane()

void CbmRich::SetRegisterPhotonsOnSensitivePlane ( Bool_t  b)
inline

Definition at line 172 of file CbmRich.h.

References fRegisterPhotonsOnSensitivePlane.

◆ SetRichGlassPropertiesForGeant4()

void CbmRich::SetRichGlassPropertiesForGeant4 ( )

Set Cherenkov propeties for RICH mirror.

Definition at line 310 of file CbmRich.cxx.

References i.

Referenced by ConstructOpGeometry().

Member Data Documentation

◆ fFixedMedia

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

Definition at line 189 of file CbmRich.h.

Referenced by ExpandNodeForGdml().

◆ fPosIndex

Int_t CbmRich::fPosIndex
private

Definition at line 177 of file CbmRich.h.

Referenced by CopyClones(), and Reset().

◆ fPositionRotation

TGeoCombiTrans* CbmRich::fPositionRotation
private

Definition at line 192 of file CbmRich.h.

Referenced by ConstructGeometry().

◆ fRegisterPhotonsOnSensitivePlane

Bool_t CbmRich::fRegisterPhotonsOnSensitivePlane
private

Definition at line 180 of file CbmRich.h.

Referenced by ProcessHits(), and SetRegisterPhotonsOnSensitivePlane().

◆ fRichMirrorPoints

TClonesArray* CbmRich::fRichMirrorPoints
private

Definition at line 184 of file CbmRich.h.

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

◆ fRichPoints

TClonesArray* CbmRich::fRichPoints
private

Definition at line 182 of file CbmRich.h.

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

◆ fRichRefPlanePoints

TClonesArray* CbmRich::fRichRefPlanePoints
private

Definition at line 183 of file CbmRich.h.

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

◆ fRotation

TGeoRotation* CbmRich::fRotation
private

Definition at line 190 of file CbmRich.h.


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