CbmRoot
|
Defines the active detector RICH. Constructs the geometry and creates MCPoints. More...
#include <CbmRich.h>
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 | |
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. More... | |
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. More... | |
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. More... | |
CbmRich (const CbmRich &) | |
Copy constructor. More... | |
CbmRich & | operator= (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 |
Defines the active detector RICH. Constructs the geometry and creates MCPoints.
CbmRich::CbmRich | ( | ) |
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 56 of file CbmRich.cxx.
References kRich.
|
virtual |
Destructor.
Definition at line 75 of file CbmRich.cxx.
References fRichMirrorPoints, fRichPoints, and fRichRefPlanePoints.
|
private |
Copy constructor.
|
private |
Adds a RichPoint to the TClonesArray.
Definition at line 543 of file CbmRich.cxx.
References fRichPoints, and pos.
Referenced by ProcessHits().
|
private |
Adds a RichMirrorPoint to the TClonesArray.
Definition at line 569 of file CbmRich.cxx.
References fRichMirrorPoints, and pos.
Referenced by ProcessHits().
|
private |
Adds a RichRefPlanePoint to the TClonesArray.
Definition at line 556 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 @value kTRUE if volume is sensitive, else kFALSE |
Definition at line 93 of file CbmRich.cxx.
void CbmRich::ConstructGdmlGeometry | ( | TGeoMatrix * | geoMatrix | ) |
Construct geometry from GDML file.
[in] | geoMatrix | Position and rotation of the RICH detector. |
Definition at line 372 of file CbmRich.cxx.
References ExpandNodeForGdml(), and m.
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 287 of file CbmRich.cxx.
References ConstructGdmlGeometry(), fPositionRotation, Cbm::GeometryUtils::ImportRootGeometry(), and Cbm::GeometryUtils::IsNewGeometryFile().
void CbmRich::ConstructOpGeometry | ( | ) |
Put some optical properties.
Definition at line 282 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 267 of file CbmRich.cxx.
|
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.
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 417 of file CbmRich.cxx.
References fFixedMedia, i, and m.
Referenced by ConstructGdmlGeometry().
|
virtual |
Return hit collection.
Definition at line 244 of file CbmRich.cxx.
References fRichMirrorPoints, fRichPoints, and fRichRefPlanePoints.
|
virtual |
Initialize detector. Stores volume IDs for RICH detector and mirror.
Definition at line 91 of file CbmRich.cxx.
|
virtual |
Screen output of hit collection.
Definition at line 251 of file CbmRich.cxx.
References fRichPoints, and i.
Referenced by EndOfEvent().
|
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.
[in] | vol | Pointer to the active volume. |
Definition at line 104 of file CbmRich.cxx.
References AddHit(), AddMirrorHit(), CbmStack::AddPoint(), AddRefPlaneHit(), fRegisterPhotonsOnSensitivePlane, kRef, and kRich.
|
virtual |
Registers the hit collection in the ROOT manager.
Definition at line 235 of file CbmRich.cxx.
References fRichMirrorPoints, fRichPoints, and fRichRefPlanePoints.
|
virtual |
Clears the hit collection.
Definition at line 260 of file CbmRich.cxx.
References fPosIndex, fRichMirrorPoints, fRichPoints, and fRichRefPlanePoints.
Referenced by EndOfEvent().
|
inline |
Definition at line 172 of file CbmRich.h.
References fRegisterPhotonsOnSensitivePlane.
void CbmRich::SetRichGlassPropertiesForGeant4 | ( | ) |
Set Cherenkov propeties for RICH mirror.
Definition at line 310 of file CbmRich.cxx.
References i.
Referenced by ConstructOpGeometry().
|
staticprivate |
Definition at line 189 of file CbmRich.h.
Referenced by ExpandNodeForGdml().
|
private |
Definition at line 177 of file CbmRich.h.
Referenced by CopyClones(), and Reset().
|
private |
Definition at line 192 of file CbmRich.h.
Referenced by ConstructGeometry().
|
private |
Definition at line 180 of file CbmRich.h.
Referenced by ProcessHits(), and SetRegisterPhotonsOnSensitivePlane().
|
private |
Definition at line 184 of file CbmRich.h.
Referenced by AddMirrorHit(), GetCollection(), Register(), Reset(), and ~CbmRich().
|
private |
Definition at line 182 of file CbmRich.h.
Referenced by AddHit(), GetCollection(), Print(), Register(), Reset(), and ~CbmRich().
|
private |
Definition at line 183 of file CbmRich.h.
Referenced by AddRefPlaneHit(), GetCollection(), Register(), Reset(), and ~CbmRich().