![]() |
AliRoot Core
edcc906 (edcc906)
|
Singleton object of FMD geometry descriptions and parameters. This class is a singleton that handles the geometry parameters of the FMD detectors. More...
#include <AliFMDGeometry.h>
Public Member Functions | |
virtual void | Init () |
virtual void | InitTransformations (Bool_t force=kFALSE) |
AliFMDRing * | GetInner () const |
AliFMDRing * | GetOuter () const |
AliFMD1 * | GetFMD1 () const |
AliFMD2 * | GetFMD2 () const |
AliFMD3 * | GetFMD3 () const |
AliFMDDetector * | GetDetector (Int_t i) const |
AliFMDRing * | GetRing (Char_t i) const |
void | Disable (Int_t i) |
void | Enable (Int_t i) |
Double_t | GetSiDensity () const |
void | Detector2XYZ (UShort_t detector, Char_t ring, UShort_t sector, UShort_t strip, Double_t &x, Double_t &y, Double_t &z) const |
Bool_t | XYZ2Detector (Double_t x, Double_t y, Double_t z, UShort_t &detector, Char_t &ring, UShort_t §or, UShort_t &strip) const |
void | Build () |
Int_t | GetDetectorOff () const |
Int_t | GetModuleOff () const |
Int_t | GetRingOff () const |
Int_t | GetSectorOff () const |
void | SetDetectorOff (Int_t off) |
void | SetModuleOff (Int_t off) |
void | SetRingOff (Int_t off) |
void | SetSectorOff (Int_t off) |
Bool_t | IsActive (Int_t vol) const |
void | SetActive (Int_t *active, Int_t n) |
void | AddActive (Int_t id) |
const TArrayI & | ActiveIds () const |
void | SetBuilder (AliFMDGeometryBuilder *b) |
void | ExtractGeomInfo () |
void | SetDetailed (Bool_t det) |
Bool_t | IsDetailed () const |
void | UseAssembly (Bool_t ass) |
virtual void | GetGlobal (const AliRecPoint *p, TVector3 &pos, TMatrixF &mat) const |
virtual void | GetGlobal (const AliRecPoint *p, TVector3 &pos) const |
virtual Bool_t | Impact (const TParticle *particle) const |
virtual void | SetAlignableVolumes () const |
![]() | |
AliGeometry () | |
virtual | ~AliGeometry () |
Static Public Member Functions | |
static AliFMDGeometry * | Instance () |
static Bool_t | XYZ2REtaPhiTheta (Double_t x, Double_t y, Double_t z, Double_t &r, Double_t &eta, Double_t &phi, Double_t &theta) |
Protected Member Functions | |
AliFMDGeometry () | |
AliFMDGeometry (const char *name) | |
AliFMDGeometry (const AliFMDGeometry &other) | |
AliFMDGeometry & | operator= (const AliFMDGeometry &other) |
virtual | ~AliFMDGeometry () |
![]() | |
AliGeometry (const Text_t *name, const Text_t *title) | |
Protected Attributes | |
Bool_t | fIsInitialized |
AliFMDRing * | fInner |
AliFMDRing * | fOuter |
AliFMD1 * | fFMD1 |
AliFMD2 * | fFMD2 |
AliFMD3 * | fFMD3 |
Bool_t | fUseFMD1 |
Bool_t | fUseFMD2 |
Bool_t | fUseFMD3 |
Bool_t | fIsInitTrans |
AliFMDGeometryBuilder * | fBuilder |
Int_t | fDetectorOff |
Int_t | fModuleOff |
Int_t | fRingOff |
Int_t | fSectorOff |
TArrayI | fActive |
Bool_t | fDetailed |
Bool_t | fUseAssembly |
Static Protected Attributes | |
static AliFMDGeometry * | fgInstance = 0 |
Singleton object of FMD geometry descriptions and parameters. This class is a singleton that handles the geometry parameters of the FMD detectors.
The actual code is done by various separate classes. Below is diagram showing the relationship between the various FMD classes that handles the geometry
+------------+ +- | AliFMDRing | 2 | +------------+ +----------------+<>--+ | | AliFMDGeometry | ^ +----------------+<>--+ V 1..2 3 | +----------------+ +-| AliFMDDetector | +----------------+ ^ | +-------------+-------------+ | | | +---------+ +---------+ +---------+ | AliFMD1 | | AliFMD2 | | AliFMD3 | +---------+ +---------+ +---------+
Definition at line 83 of file AliFMDGeometry.h.
|
protected |
|
protected |
|
protected |
|
inlineprotectedvirtual |
Destructor
Definition at line 379 of file AliFMDGeometry.h.
|
inline |
Get Array of active volume numbers
Definition at line 254 of file AliFMDGeometry.h.
Referenced by AliFMD::Init().
void AliFMDGeometry::AddActive | ( | Int_t | id | ) |
Add an active volume
id | Register volume id to be active |
Definition at line 300 of file AliFMDGeometry.cxx.
Referenced by ExtractGeomInfo(), and SetSectorOff().
void AliFMDGeometry::Build | ( | ) |
Make the geometry. This delegates to AliFMDGeometryBuilder
Definition at line 269 of file AliFMDGeometry.cxx.
Referenced by AliFMD::CreateGeometry(), and GetSiDensity().
void AliFMDGeometry::Detector2XYZ | ( | UShort_t | detector, |
Char_t | ring, | ||
UShort_t | sector, | ||
UShort_t | strip, | ||
Double_t & | x, | ||
Double_t & | y, | ||
Double_t & | z | ||
) | const |
Translate detector coordinates (detector, ring, sector, strip) to spatial coordinates (x, y, z) in the master reference frame of ALICE. The member function uses the transformations previously obtained from the TGeoManager.
detector | Detector number |
ring | Ring id |
sector | Sector number |
strip | Strip number |
x | On return, X coordinate |
y | On return, Y coordinate |
z | On return, Z coordinate |
Definition at line 410 of file AliFMDGeometry.cxx.
Referenced by AliFMDFancy::AliFancyDetector::AddMarker(), AliFMDPattern::AddMarker(), AliFMDDisplay::AddMarker(), FillEtas(), FullMapping(), GetGlobal(), GetSiDensity(), MakeFakeHits(), PhysicalCoordinates(), AliFMDESDRevertexer::PhysicalCoordinates(), AliFMDReconstructor::PhysicalCoordinates(), CheckAlign::ProcessDigit(), PoissonHit::ProcessHit(), DrawSDigits::ProcessSDigit(), DrawTrackRefs::ProcessTrackRef(), AliFMDv1::StepManager(), and TestESDPhi().
void AliFMDGeometry::Disable | ( | Int_t | i | ) |
Disable the ith detector
i | IF true, disable sub-detector i |
Definition at line 393 of file AliFMDGeometry.cxx.
Referenced by GetFMD3().
void AliFMDGeometry::Enable | ( | Int_t | i | ) |
Enable the ith detector
i | IF true, enable sub-detector i |
Definition at line 376 of file AliFMDGeometry.cxx.
Referenced by GetFMD3().
void AliFMDGeometry::ExtractGeomInfo | ( | ) |
Check the volume depth of some nodes, get the active volume numbers, and so forth.
Definition at line 595 of file AliFMDGeometry.cxx.
Referenced by AliFMD::Init(), and SetBuilder().
AliFMDDetector * AliFMDGeometry::GetDetector | ( | Int_t | i | ) | const |
Get description of a sub-detector
i | Sub-detector # |
Definition at line 333 of file AliFMDGeometry.cxx.
Referenced by AliFMDPattern::Begin(), AliFMDFancy::Begin(), CheckAlign::CheckAlign(), Detector2XYZ(), AliFMDBaseDigitizer::DigitizeHits(), AliFMDFancy::End(), GetFMD3(), AliFMDFancy::AliFancyDetector::Init(), SetAlignableVolumes(), AliFMDv1::VMC2FMD(), and XYZ2Detector().
|
inline |
Definition at line 200 of file AliFMDGeometry.h.
Referenced by AliFMDv1::VMC2FMD().
|
inline |
Definition at line 111 of file AliFMDGeometry.h.
Referenced by AliFMDGeometryBuilder::Exec().
|
inline |
Definition at line 115 of file AliFMDGeometry.h.
Referenced by AliFMDGeometryBuilder::Exec().
|
inline |
Definition at line 119 of file AliFMDGeometry.h.
Referenced by AliFMDGeometryBuilder::Exec().
|
virtual |
Get global coordinates cooresponding to a rec point.
p | Reconstructed point. |
pos | On return, the position |
mat | On return, the material at post |
Implements AliGeometry.
Definition at line 527 of file AliFMDGeometry.cxx.
Referenced by UseAssembly().
|
virtual |
Get global coordinates cooresponding to a rec point.
p | Reconstructed point. |
pos | On return, the position |
Implements AliGeometry.
Definition at line 544 of file AliFMDGeometry.cxx.
|
inline |
Definition at line 103 of file AliFMDGeometry.h.
Referenced by AliFMDGeometryBuilder::Exec().
|
inline |
Definition at line 204 of file AliFMDGeometry.h.
Referenced by AliFMDv1::VMC2FMD().
|
inline |
Definition at line 107 of file AliFMDGeometry.h.
Referenced by AliFMDGeometryBuilder::Exec().
AliFMDRing * AliFMDGeometry::GetRing | ( | Char_t | i | ) | const |
Get description of a ring, i should be one of 'I' or 'O' (case insensitive). If an invalid parameter is passed, 0 (NULL) is returned.
i | Ring id |
Definition at line 353 of file AliFMDGeometry.cxx.
Referenced by AliFMDFancy::AliFancyDetector::AddMarker(), AliFMDPattern::AddMarker(), CheckAlign::CheckAlign(), AliFMDParameters::GetEdepMip(), GetFMD3(), AliFMDPattern::Init(), and PrintOne().
|
inline |
Definition at line 208 of file AliFMDGeometry.h.
Referenced by AliFMDv1::VMC2FMD().
|
inline |
Definition at line 212 of file AliFMDGeometry.h.
Referenced by AliFMDv1::VMC2FMD().
|
inline |
Definition at line 151 of file AliFMDGeometry.h.
Referenced by AliFMD::CreateMaterials(), and AliFMDParameters::GetEdepMip().
|
virtual |
Check if particle will hit an active detector element.
particle | Track |
true
if particle will hit this detector Implements AliGeometry.
Definition at line 566 of file AliFMDGeometry.cxx.
Referenced by UseAssembly().
|
virtual |
Initialize the the singleton if not done so already
Definition at line 234 of file AliFMDGeometry.cxx.
Referenced by AliFMDESDRevertexer::AliFMDESDRevertexer(), CheckAlign::CheckAlign(), AliFMD::CreateMaterials(), FillEtas(), FullMapping(), PoissonHit::Init(), AliFMDReconstructor::Init(), CheckAlign::Init(), DrawSDigits::Init(), AliFMDDisplay::Init(), AliFMDPattern::Init(), AliFMDInput::Init(), AliFMDFancy::Init(), MakeFakeHits(), PrintSensorVertices(), AliFMDSurveyToAlignObjs::Run(), ShowCoordinates(), TestAlignable(), and TestESDPhi().
|
virtual |
Find all local <-> global transforms
Definition at line 249 of file AliFMDGeometry.cxx.
Referenced by AliFMDESDRevertexer::AliFMDESDRevertexer(), FillEtas(), FullMapping(), PoissonHit::Init(), AliFMDReconstructor::Init(), CheckAlign::Init(), DrawSDigits::Init(), AliFMDDisplay::Init(), AliFMDPattern::Init(), AliFMDInput::Init(), AliFMDFancy::Init(), MakeFakeHits(), AliFMDSurveyToAlignObjs::Run(), ShowCoordinates(), and TestESDPhi().
|
static |
singleton access
Definition at line 95 of file AliFMDGeometry.cxx.
Referenced by AliFMD::AddAlignableVolumes(), AliFMDFancy::AliFancyDetector::AddMarker(), AliFMDPattern::AddMarker(), AliFMDDisplay::AddMarker(), AliFMDESDRevertexer::AliFMDESDRevertexer(), AliFMDPattern::Begin(), AliFMDFancy::Begin(), AliFMD::Browse(), CheckAlign::CheckAlign(), AliFMD::CreateGeometry(), AliFMD::CreateMaterials(), AliFMDBaseDigitizer::DigitizeHits(), AliFMDFancy::End(), AliFMDGeometryBuilder::Exec(), FillEtas(), FullMapping(), AliFMDParameters::GetEdepMip(), AliFMDFancy::AliFancyDetector::Init(), PoissonHit::Init(), AliFMDReconstructor::Init(), CheckAlign::Init(), DrawSDigits::Init(), AliFMDDisplay::Init(), AliFMDPattern::Init(), AliFMDInput::Init(), AliFMDFancy::Init(), AliFMD::Init(), MakeFakeHits(), PhysicalCoordinates(), AliFMDESDRevertexer::PhysicalCoordinates(), AliFMDReconstructor::PhysicalCoordinates(), PrintOne(), PrintSensorVertices(), CheckAlign::ProcessDigit(), PoissonHit::ProcessHit(), DrawSDigits::ProcessSDigit(), DrawTrackRefs::ProcessTrackRef(), AliFMDSurveyToAlignObjs::Run(), ShowCoordinates(), AliFMDv1::StepManager(), TestAlignable(), TestESDPhi(), and AliFMDv1::VMC2FMD().
Bool_t AliFMDGeometry::IsActive | ( | Int_t | vol | ) | const |
Check if volume vol is marked as active
vol | Volume ID |
true
if vol is declared active Definition at line 316 of file AliFMDGeometry.cxx.
Referenced by SetSectorOff(), and AliFMDv1::StepManager().
|
inline |
true
if geometry is detailed Definition at line 282 of file AliFMDGeometry.h.
Referenced by AliFMDv1::StepManager().
|
protected |
Assignment operator
other | To assig from |
Definition at line 208 of file AliFMDGeometry.cxx.
void AliFMDGeometry::SetActive | ( | Int_t * | active, |
Int_t | n | ||
) |
Set active volumes
active | Active volume id array |
n | elements of active |
Definition at line 282 of file AliFMDGeometry.cxx.
Referenced by AliFMDGeometryBuilder::Exec(), AliFMD::Init(), and SetSectorOff().
|
virtual |
Declare alignable volumes
Definition at line 583 of file AliFMDGeometry.cxx.
Referenced by AliFMD::AddAlignableVolumes(), TestAlignable(), and UseAssembly().
|
inline |
Set an external geometry builder
b | Geometry builder |
Definition at line 260 of file AliFMDGeometry.h.
|
inline |
Whether we are to use a detailed geometry or not
det | if true , make a detailed geometry. |
Definition at line 278 of file AliFMDGeometry.h.
Referenced by AliFMD::CreateGeometry().
|
inline |
off | Detector off-set set in geometry path |
Definition at line 216 of file AliFMDGeometry.h.
Referenced by AliFMDGeometryBuilder::Exec().
|
inline |
off | Module off-set set in geometry path |
Definition at line 220 of file AliFMDGeometry.h.
Referenced by AliFMDGeometryBuilder::Exec().
|
inline |
off | Ring off-set set in geometry path |
Definition at line 224 of file AliFMDGeometry.h.
Referenced by AliFMDGeometryBuilder::Exec().
|
inline |
off | Sectord off-set set in geometry path |
Definition at line 228 of file AliFMDGeometry.h.
Referenced by AliFMDGeometryBuilder::Exec().
|
inline |
ass | Whether to use assemblies or not |
Definition at line 286 of file AliFMDGeometry.h.
Referenced by AliFMD::CreateGeometry().
Bool_t AliFMDGeometry::XYZ2Detector | ( | Double_t | x, |
Double_t | y, | ||
Double_t | z, | ||
UShort_t & | detector, | ||
Char_t & | ring, | ||
UShort_t & | sector, | ||
UShort_t & | strip | ||
) | const |
Translate spatial coordinates (x,y,z) in the master reference frame of ALICE to the detector coordinates (detector, ring, sector, strip). Note, that if this method is to be used in reconstruction or the like, then the input z-coordinate should be corrected for the events interactions points z-coordinate, like
x | X coordinate |
y | Y coordinate |
z | Z coordinate |
detector | On return, Detector number |
ring | On return, Ring id |
sector | On return, Sector number |
strip | On return, Strip number |
false
of (x, y, z) is not within this detector. Definition at line 443 of file AliFMDGeometry.cxx.
Referenced by GetSiDensity().
|
static |
Service function to convert Cartisean XYZ to r, eta, phi, and theta.
Note, that the z input should be corrected for the vertex location if needed.
x | Cartisean X coordinate |
y | Cartisean Y coordinate |
z | Cartisean Z coordinate |
r | On return, the radius |
eta | On return, the pseudo-rapidity |
phi | On return, the azimuthal angle |
theta | On return, the polar angle; |
Definition at line 489 of file AliFMDGeometry.cxx.
Referenced by AliFMDESDRevertexer::PhysicalCoordinates(), AliFMDReconstructor::PhysicalCoordinates(), DrawTrackRefs::ProcessTrackRef(), and UseAssembly().
|
protected |
Definition at line 386 of file AliFMDGeometry.h.
Referenced by ActiveIds(), AddActive(), AliFMDGeometry(), ExtractGeomInfo(), IsActive(), and SetActive().
|
protected |
Definition at line 381 of file AliFMDGeometry.h.
Referenced by Build(), and SetBuilder().
|
protected |
Definition at line 387 of file AliFMDGeometry.h.
Referenced by Build(), ExtractGeomInfo(), IsDetailed(), and SetDetailed().
|
protected |
Definition at line 382 of file AliFMDGeometry.h.
Referenced by ExtractGeomInfo(), GetDetectorOff(), and SetDetectorOff().
|
protected |
Definition at line 345 of file AliFMDGeometry.h.
Referenced by AliFMDGeometry(), GetDetector(), GetFMD1(), Init(), InitTransformations(), and operator=().
|
protected |
Definition at line 346 of file AliFMDGeometry.h.
Referenced by AliFMDGeometry(), GetDetector(), GetFMD2(), Init(), InitTransformations(), and operator=().
|
protected |
Definition at line 347 of file AliFMDGeometry.h.
Referenced by AliFMDGeometry(), GetDetector(), GetFMD3(), Init(), InitTransformations(), and operator=().
|
staticprotected |
Definition at line 352 of file AliFMDGeometry.h.
Referenced by Instance().
|
protected |
Definition at line 343 of file AliFMDGeometry.h.
Referenced by AliFMDGeometry(), GetInner(), GetRing(), Init(), and operator=().
|
protected |
Definition at line 342 of file AliFMDGeometry.h.
Referenced by AliFMDGeometry(), Init(), and operator=().
|
protected |
Definition at line 351 of file AliFMDGeometry.h.
Referenced by InitTransformations().
|
protected |
Definition at line 383 of file AliFMDGeometry.h.
Referenced by ExtractGeomInfo(), GetModuleOff(), and SetModuleOff().
|
protected |
Definition at line 344 of file AliFMDGeometry.h.
Referenced by AliFMDGeometry(), GetOuter(), GetRing(), Init(), and operator=().
|
protected |
Definition at line 384 of file AliFMDGeometry.h.
Referenced by ExtractGeomInfo(), GetRingOff(), and SetRingOff().
|
protected |
Definition at line 385 of file AliFMDGeometry.h.
Referenced by ExtractGeomInfo(), GetSectorOff(), and SetSectorOff().
|
protected |
Definition at line 388 of file AliFMDGeometry.h.
Referenced by Build(), and UseAssembly().
|
protected |
Definition at line 348 of file AliFMDGeometry.h.
Referenced by Disable(), Enable(), GetDetector(), GetFMD1(), and operator=().
|
protected |
Definition at line 349 of file AliFMDGeometry.h.
Referenced by Disable(), Enable(), GetDetector(), GetFMD2(), and operator=().
|
protected |
Definition at line 350 of file AliFMDGeometry.h.
Referenced by Disable(), Enable(), GetDetector(), GetFMD3(), and operator=().