CbmRoot
|
#include <CbmRichGeoManager.h>
Public Member Functions | |
void | DetectGeometryType () |
void | RotatePoint (TVector3 *inPos, TVector3 *outPos, Bool_t noTilting=false) |
void | RotatePointCyl (TVector3 *inPos, TVector3 *outPos, Bool_t noTilting=false, Bool_t noShift=false) |
void | RotatePointTwoWings (TVector3 *inPos, TVector3 *outPos, Bool_t noTilting=false) |
void | RotatePointImpl (TVector3 *inPos, TVector3 *outPos, Double_t phi, Double_t theta, Double_t pmtX, Double_t pmtY, Double_t pmtZ) |
Bool_t | IsPointInsidePmt (const TVector3 *rotatedPoint) |
Static Public Member Functions | |
static CbmRichGeoManager & | GetInstance () |
Public Attributes | |
CbmRichRecGeoPar * | fGP |
Private Member Functions | |
CbmRichGeoManager () | |
void | InitGeometry () |
void | InitMirror () |
void | InitPmt () |
void | InitPmtCyl () |
CbmRichGeoManager (const CbmRichGeoManager &) | |
Copy constructor. More... | |
CbmRichGeoManager & | operator= (const CbmRichGeoManager &) |
Assignment operator. More... | |
Definition at line 19 of file CbmRichGeoManager.h.
|
private |
private Constructor.
Definition at line 35 of file CbmRichGeoManager.cxx.
References InitGeometry().
|
private |
Copy constructor.
void CbmRichGeoManager::DetectGeometryType | ( | ) |
Definition at line 66 of file CbmRichGeoManager.cxx.
References CbmRichGeometryTypeCylindrical, CbmRichGeometryTypeNotDefined, CbmRichGeometryTypeTwoWings, CbmRichRecGeoPar::fGeometryType, and fGP.
Referenced by InitGeometry().
|
inlinestatic |
Return Instance of CbmRichGeoManager.
Definition at line 29 of file CbmRichGeoManager.h.
Referenced by CbmLitMCTrackCreator::AddRingParameters(), CbmRichRingSelectAnn::CbmRichRingSelectAnn(), CbmRichProjectionProducer2::DoProjection(), CbmRichProjectionProducerTGeo::DoProjection(), CbmRichProjectionProducerAnalytical::DoProjection(), CbmRichGeoTest::DrawPmtPoint(), CbmRichGeoTest::DrawPmts(), CbmRichMirrorSortingAlignment::Exec(), CbmRichMirrorSortingCorrection::Exec(), CbmRichGeoOpt::Exec(), CbmLitFieldQa::FillRichPmtPlaneBHistos(), CbmRichPmt::getLambda(), CbmRichDraw::GetPmtHistBins(), CbmRichProjectionProducerAnalytical::GetPmtIntersectionPointCyl(), CbmRichProjectionProducerAnalytical::GetPmtIntersectionPointTwoWings(), CbmRichGeoOpt::GetPMTRotAngels(), CbmRichGeoOpt::HitsAndPoints(), CbmRichGeoOpt::HitsAndPointsWithRef(), CbmRichDigitizer::Init(), CbmRichElectronIdAnn::Init(), CbmRichPmt::isPhotonDetected(), IsPointInsidePmt(), CbmRichUrqmdTest::NofHitsAndPoints(), CbmRichUrqmdTest::PmtXYSource(), CbmRichHitProducer::ProcessDigi(), CbmRichGeoTest::ProcessHits(), CbmRichGeoTest::ProcessMc(), CbmRichProjectionProducer2::ProjectionProducer(), CbmRichCorrection::ProjectionProducer(), CbmRichCorrectionVector::ProjectionProducer(), and CbmRichGeoTest::RingParameters().
|
private |
Init geometry.
Definition at line 37 of file CbmRichGeoManager.cxx.
References CbmRichGeometryTypeCylindrical, CbmRichGeometryTypeNotDefined, CbmRichGeometryTypeTwoWings, DetectGeometryType(), CbmRichRecGeoPar::fGeometryType, fGP, CbmRichRecGeoPar::fNRefrac, InitMirror(), InitPmt(), and InitPmtCyl().
Referenced by CbmRichGeoManager().
|
private |
Definition at line 328 of file CbmRichGeoManager.cxx.
References fGP, CbmRichRecGeoPar::fMirrorR, CbmRichRecGeoPar::fMirrorTheta, CbmRichRecGeoPar::fMirrorX, CbmRichRecGeoPar::fMirrorY, CbmRichRecGeoPar::fMirrorZ, and shape.
Referenced by InitGeometry().
|
private |
Definition at line 257 of file CbmRichGeoManager.cxx.
References CbmRichPmtPlaneMinMax::AddPoint(), fGP, CbmRichRecGeoParPmt::fHeight, CbmRichRecGeoParPmt::fPhi, CbmRichRecGeoParPmt::fPlaneX, CbmRichRecGeoParPmt::fPlaneY, CbmRichRecGeoParPmt::fPlaneZ, CbmRichRecGeoPar::fPmt, CbmRichRecGeoParPmt::fTheta, CbmRichRecGeoParPmt::fWidth, CbmRichRecGeoParPmt::fX, CbmRichRecGeoParPmt::fY, CbmRichRecGeoParPmt::fZ, CbmRichPmtPlaneMinMax::GetMeanX(), CbmRichPmtPlaneMinMax::GetMeanY(), CbmRichPmtPlaneMinMax::GetMeanZ(), and shape.
Referenced by InitGeometry().
|
private |
Definition at line 95 of file CbmRichGeoManager.cxx.
References fGP, CbmRichRecGeoPar::fPmtMap, CbmRichRecGeoPar::fPmtStripGap, i, pos, and shape.
Referenced by InitGeometry().
Bool_t CbmRichGeoManager::IsPointInsidePmt | ( | const TVector3 * | rotatedPoint | ) |
Check if point is inside PMT plane +-margin.
[in] | rotatedPoint | Input point should be already rotated. |
Definition at line 584 of file CbmRichGeoManager.cxx.
References CbmRichGeometryTypeCylindrical, CbmRichGeometryTypeTwoWings, CbmRichRecGeoPar::fGeometryType, fGP, CbmRichRecGeoParPmt::fHeight, CbmRichRecGeoParPmt::fPlaneX, CbmRichRecGeoParPmt::fPlaneY, CbmRichRecGeoParPmt::fPlaneZ, CbmRichRecGeoPar::fPmt, CbmRichRecGeoPar::fPmtMap, CbmRichRecGeoParPmt::fWidth, GetInstance(), and RotatePoint().
Referenced by CbmRichProjectionProducerAnalytical::DoProjection().
|
private |
Assignment operator.
void CbmRichGeoManager::RotatePoint | ( | TVector3 * | inPos, |
TVector3 * | outPos, | ||
Bool_t | noTilting = false |
||
) |
Rotate points by -theta, -phi for x>0, y>0 theta, -phi for x>0, y<0 theta, phi for x<0, y<0 -theta, phi for x<0, y>0 and shift x position in order to avoid overlap.
[in] | inPos | points position to be tilted. |
[out] | outPos | point position after tilting. |
[in] | noTilting | If you do not want to make tilting, needed for convenience. |
Definition at line 407 of file CbmRichGeoManager.cxx.
References CbmRichGeometryTypeCylindrical, CbmRichGeometryTypeTwoWings, CbmRichRecGeoPar::fGeometryType, fGP, RotatePointCyl(), and RotatePointTwoWings().
Referenced by CbmLitMCTrackCreator::AddRingParameters(), CbmRichProjectionProducerTGeo::DoProjection(), CbmRichProjectionProducerAnalytical::DoProjection(), CbmRichGeoTest::DrawPmtPoint(), CbmRichGeoTest::DrawPmts(), CbmRichMirrorSortingAlignment::Exec(), CbmRichMirrorSortingCorrection::Exec(), CbmLitFieldQa::FillRichPmtPlaneBHistos(), CbmRichDraw::GetPmtHistBins(), CbmRichGeoOpt::HitsAndPoints(), CbmRichGeoOpt::HitsAndPointsWithRef(), IsPointInsidePmt(), CbmRichUrqmdTest::NofHitsAndPoints(), CbmRichUrqmdTest::PmtXYSource(), CbmRichHitProducer::ProcessDigi(), CbmRichGeoTest::ProcessHits(), CbmRichGeoTest::ProcessMc(), CbmRichProjectionProducer2::ProjectionProducer(), CbmRichCorrection::ProjectionProducer(), CbmRichCorrectionVector::ProjectionProducer(), and CbmRichGeoTest::RingParameters().
void CbmRichGeoManager::RotatePointCyl | ( | TVector3 * | inPos, |
TVector3 * | outPos, | ||
Bool_t | noTilting = false , |
||
Bool_t | noShift = false |
||
) |
Definition at line 441 of file CbmRichGeoManager.cxx.
References fGP, CbmRichRecGeoParPmt::fPhi, CbmRichRecGeoParPmt::fPmtPositionIndexX, CbmRichRecGeoPar::fPmtStripGap, CbmRichRecGeoParPmt::fTheta, CbmRichRecGeoParPmt::fWidth, CbmRichRecGeoParPmt::fX, CbmRichRecGeoParPmt::fY, CbmRichRecGeoParPmt::fZ, CbmRichRecGeoPar::GetGeoRecPmtByBlockPathOrClosest(), and RotatePointImpl().
Referenced by RotatePoint().
void CbmRichGeoManager::RotatePointImpl | ( | TVector3 * | inPos, |
TVector3 * | outPos, | ||
Double_t | phi, | ||
Double_t | theta, | ||
Double_t | pmtX, | ||
Double_t | pmtY, | ||
Double_t | pmtZ | ||
) |
Definition at line 499 of file CbmRichGeoManager.cxx.
Referenced by RotatePointCyl(), and RotatePointTwoWings().
void CbmRichGeoManager::RotatePointTwoWings | ( | TVector3 * | inPos, |
TVector3 * | outPos, | ||
Bool_t | noTilting = false |
||
) |
Definition at line 424 of file CbmRichGeoManager.cxx.
References fGP, CbmRichRecGeoParPmt::fPhi, CbmRichRecGeoPar::fPmt, CbmRichRecGeoParPmt::fTheta, CbmRichRecGeoParPmt::fX, CbmRichRecGeoParPmt::fY, CbmRichRecGeoParPmt::fZ, and RotatePointImpl().
Referenced by RotatePoint().
CbmRichRecGeoPar* CbmRichGeoManager::fGP |
Definition at line 23 of file CbmRichGeoManager.h.
Referenced by DetectGeometryType(), CbmRichProjectionProducer2::DoProjection(), CbmRichProjectionProducerTGeo::DoProjection(), CbmRichProjectionProducerAnalytical::DoProjection(), CbmRichGeoOpt::Exec(), CbmRichPmt::getLambda(), CbmRichProjectionProducerAnalytical::GetPmtIntersectionPointCyl(), CbmRichProjectionProducerAnalytical::GetPmtIntersectionPointTwoWings(), CbmRichGeoOpt::GetPMTRotAngels(), InitGeometry(), InitMirror(), InitPmt(), InitPmtCyl(), CbmRichPmt::isPhotonDetected(), IsPointInsidePmt(), CbmRichCorrection::ProjectionProducer(), CbmRichCorrectionVector::ProjectionProducer(), RotatePoint(), RotatePointCyl(), and RotatePointTwoWings().