CbmRoot
|
Defines the active detector RICH. Constructs the geometry and creates MCPoints. More...
#include <CbmRich.h>
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 | |
CbmRichPoint * | AddHit (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. | |
CbmRichPoint * | AddRefPlaneHit (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. | |
CbmRichPoint * | AddMirrorHit (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. | |
CbmRich & | operator= (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 |
Defines the active detector RICH. Constructs the geometry and creates MCPoints.
CbmRich::CbmRich | ( | ) |
Default constructor.
Definition at line 36 of file CbmRich.cxx.
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.
[in] | name | Detector name. |
[in] | active | Sensitivity flag. |
[in] | px | Position X. |
[in] | py | Position Y. |
[in] | pz | Position Z from target to the center of the RICH detector. Z coordinate for v16a = 270, for v17a = 258.75 |
[in] | rx | Rotation around X. |
[in] | ry | Rotation around Y. |
[in] | rz | Rotation around Z. |
Definition at line 49 of file CbmRich.cxx.
|
virtual |
Destructor.
Definition at line 63 of file CbmRich.cxx.
References fRichMirrorPoints, fRichPoints, and fRichRefPlanePoints.
|
private |
Copy constructor.
|
private |
Adds a RichPoint to the TClonesArray.
Definition at line 506 of file CbmRich.cxx.
References fRichPoints, pos, and size().
Referenced by ProcessHits().
|
private |
Adds a RichMirrorPoint to the TClonesArray.
Definition at line 522 of file CbmRich.cxx.
References fRichMirrorPoints, and pos.
Referenced by ProcessHits().
|
private |
Adds a RichRefPlanePoint to the TClonesArray.
Definition at line 514 of file CbmRich.cxx.
References fRichRefPlanePoints, and pos.
Referenced by ProcessHits().
|
virtual |
Check whether a volume is sensitive. The decision is based on the volume name. Only used in case of ROOT geometry.
name | Volume name |
Definition at line 96 of file CbmRich.cxx.
References IsSensitive().
void CbmRich::ConstructGdmlGeometry | ( | TGeoMatrix * | geoMatrix | ) |
Construct geometry from GDML file.
[in] | geoMatrix | Position and rotation of the RICH detector. |
Definition at line 349 of file CbmRich.cxx.
References ExpandNodeForGdml().
Referenced by 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().
void CbmRich::ConstructOpGeometry | ( | ) |
Put some optical properties.
Definition at line 269 of file CbmRich.cxx.
References SetRichGlassPropertiesForGeant4().
|
virtual |
Copies the hit collection with a given track index offset.
[in] | cl1 | Origin array. |
[out] | cl2 | Target array. |
[in] | offset | Index offset. |
Definition at line 253 of file CbmRich.cxx.
References fPosIndex.
|
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.
void CbmRich::ExpandNodeForGdml | ( | TGeoNode * | node | ) |
Assign materials by taking description from medoa.geo and not from GDML for a certain node.
[in] | node | GeoNode. |
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().
|
virtual |
Return hit collection.
Definition at line 227 of file CbmRich.cxx.
References fRichMirrorPoints, fRichPoints, and fRichRefPlanePoints.
|
virtual |
Initialize detector. Stores volume IDs for RICH detector and mirror.
Definition at line 80 of file CbmRich.cxx.
References CbmRichDigiMapManager::GetInstance().
|
virtual |
Definition at line 86 of file CbmRich.cxx.
Referenced by CheckIfSensitive().
|
virtual |
Screen output of hit collection.
Definition at line 235 of file CbmRich.cxx.
References fRichPoints.
Referenced by EndOfEvent().
|
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.
[in] | vol | Pointer 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.
|
virtual |
Registers the hit collection in the ROOT manager.
Definition at line 220 of file CbmRich.cxx.
References fRichMirrorPoints, fRichPoints, and fRichRefPlanePoints.
|
virtual |
Clears the hit collection.
Definition at line 245 of file CbmRich.cxx.
References fPosIndex, fRichMirrorPoints, fRichPoints, and fRichRefPlanePoints.
Referenced by EndOfEvent().
|
inline |
set fRegisterPhotonsOnSensitivePlane parameter
Definition at line 156 of file CbmRich.h.
References fRegisterPhotonsOnSensitivePlane.
void CbmRich::SetRichGlassPropertiesForGeant4 | ( | ) |
Set Cherenkov propeties for RICH mirror.
Definition at line 299 of file CbmRich.cxx.
Referenced by ConstructOpGeometry().
|
staticprivate |
Definition at line 170 of file CbmRich.h.
Referenced by ExpandNodeForGdml().
|
private |
Definition at line 159 of file CbmRich.h.
Referenced by CopyClones(), and Reset().
|
private |
Definition at line 172 of file CbmRich.h.
Referenced by ConstructGeometry().
|
private |
Definition at line 163 of file CbmRich.h.
Referenced by ProcessHits(), and SetRegisterPhotonsOnSensitivePlane().
|
private |
Definition at line 167 of file CbmRich.h.
Referenced by AddMirrorHit(), GetCollection(), Register(), Reset(), and ~CbmRich().
|
private |
Definition at line 165 of file CbmRich.h.
Referenced by AddHit(), GetCollection(), Print(), Register(), Reset(), and ~CbmRich().
|
private |
Definition at line 166 of file CbmRich.h.
Referenced by AddRefPlaneHit(), GetCollection(), Register(), Reset(), and ~CbmRich().