* provided "as is" without express or implied warranty. *
**************************************************************************/
-/*
-$Log$
-Revision 1.3.4.1 2002/11/26 16:32:24 hristov
-Merging NewIO with v3-09-04
-
-Revision 1.3 2002/10/14 14:55:34 hristov
-Merging the VirtualMC branch to the main development branch (HEAD)
-
-Revision 1.1.4.2 2002/10/10 14:40:31 hristov
-Updating VirtualMC to v3-09-02
-
-Revision 1.2 2002/10/07 11:16:53 gamez
-Depth variable added
-
-Revision 1.1 2002/06/16 17:08:19 hristov
-First version of CRT
-
-
-*/
+/* $Id$ */
////////////////////////////////////////////////////////////////////////
//
// This class serves to group constants needed by CRT detector in 1
// easily accessible place. All constants are public const static data
// members. The class is never instatiated.
-//
-//
// Author: Arturo Fernandez, Enrique Gamez
// FCFM-UAP, Mexico.
//
#include "AliCRTConstants.h"
-const Float_t AliCRTConstants::fgCageLenght = 477.6;
-const Float_t AliCRTConstants::fgCageWidth = 166.7;
-const Float_t AliCRTConstants::fgCageHeight = 10.7;
-const Float_t AliCRTConstants::fgSinglePaletteLenght = 363.0;
-const Float_t AliCRTConstants::fgSinglePaletteWidth = 19.7;
-const Float_t AliCRTConstants::fgSinglePaletteHeight = 1.0;
-const Float_t AliCRTConstants::fgActiveAreaGap = 0.7;
-const Float_t AliCRTConstants::fgActiveAreaLenght = fgSinglePaletteLenght;
-const Float_t AliCRTConstants::fgActiveAreaWidth = 156.7;
-const Float_t AliCRTConstants::fgActiveAreaHeight = 2*fgSinglePaletteHeight + fgActiveAreaGap;
-const Float_t AliCRTConstants::fgMagnetWidth = 654.4;
-const Float_t AliCRTConstants::fgMagnetLenght = 1200.;
-const Float_t AliCRTConstants::fgDepth=4420.; // cm.
+AliCRTConstants* AliCRTConstants::fgInstance = 0;
+
+const Float_t AliCRTConstants::fgkCageLenght = 477.6;
+const Float_t AliCRTConstants::fgkCageWidth = 166.7;
+const Float_t AliCRTConstants::fgkCageHeight = 10.7;
+const Float_t AliCRTConstants::fgkSinglePaletteLenght = 363.0;
+const Float_t AliCRTConstants::fgkSinglePaletteWidth = 19.7;
+const Float_t AliCRTConstants::fgkSinglePaletteHeight = 1;
+const Float_t AliCRTConstants::fgkActiveAreaGap = 0.7;
+const Float_t AliCRTConstants::fgkActiveAreaLenght = AliCRTConstants::fgkSinglePaletteLenght;
+const Float_t AliCRTConstants::fgkActiveAreaWidth = 156.7;
+const Float_t AliCRTConstants::fgkActiveAreaHeight = 2*AliCRTConstants::fgkSinglePaletteHeight + AliCRTConstants::fgkActiveAreaGap;
+const Float_t AliCRTConstants::fgkMagnetWidth = 654.4;
+const Float_t AliCRTConstants::fgkMagnetLenght = 1200;
+const Float_t AliCRTConstants::fgkMagMinRadius = 790;
+const Float_t AliCRTConstants::fgkMagMaxRadius = AliCRTConstants::fgkMagMinRadius + 20;
+const Float_t AliCRTConstants::fgkDepth =4420; // cm
ClassImp(AliCRTConstants)
+
+//_____________________________________________________________________________
+AliCRTConstants::AliCRTConstants()
+ : TObject()
+{
+ // Default constructor
+}
+
+//_____________________________________________________________________________
+AliCRTConstants::AliCRTConstants(const AliCRTConstants& ct)
+ : TObject(ct)
+{
+ // Copy constructor
+}
+
+//_____________________________________________________________________________
+AliCRTConstants& AliCRTConstants::operator=(const AliCRTConstants&)
+{
+ // Asingment operator
+ return *this;
+}
+
+//_____________________________________________________________________________
+AliCRTConstants* AliCRTConstants::Instance()
+{
+ if ( !fgInstance ) {
+ fgInstance = new AliCRTConstants;
+ }
+ return fgInstance;
+}
+
+//_____________________________________________________________________________
+AliCRTConstants::~AliCRTConstants()
+{
+ fgInstance = 0;
+}
+
+//_____________________________________________________________________________
+Float_t AliCRTConstants::CageLenght() const
+{
+ // Module lenght
+ return fgkCageLenght;
+}
+
+//_____________________________________________________________________________
+Float_t AliCRTConstants::CageWidth() const
+{
+ // Module width
+ return fgkCageWidth;
+}
+
+//_____________________________________________________________________________
+Float_t AliCRTConstants::CageHeight() const
+{
+ // Module height
+ return fgkCageHeight;
+}
+
+//_____________________________________________________________________________
+Float_t AliCRTConstants::SinglePaletteLenght() const
+{
+ // Lenght of the scintillator active zone for a single counter
+ return fgkSinglePaletteLenght;
+}
+
+//_____________________________________________________________________________
+Float_t AliCRTConstants::SinglePaletteWidth() const
+{
+ // Width of the scintillator active zone for a single counter
+ return fgkSinglePaletteWidth;
+}
+
+//_____________________________________________________________________________
+Float_t AliCRTConstants::SinglePaletteHeight() const
+{
+ // Height of the scintillator active zone for a single counter
+ return fgkSinglePaletteHeight;
+}
+
+//_____________________________________________________________________________
+Float_t AliCRTConstants::ActiveAreaGap() const
+{
+ // Gap betwen scintillators
+ return fgkActiveAreaGap;
+}
+
+//_____________________________________________________________________________
+Float_t AliCRTConstants::ActiveAreaLenght() const
+{
+ // Lenght of the scintillator active zone
+ return fgkActiveAreaLenght;
+}
+
+//_____________________________________________________________________________
+Float_t AliCRTConstants::ActiveAreaWidth() const
+{
+ // Width of the scintillator active zone
+ return fgkActiveAreaWidth;
+}
+
+//_____________________________________________________________________________
+Float_t AliCRTConstants::ActiveAreaHeight() const
+{
+ // Height of the scintillator active zone
+ return fgkActiveAreaHeight;
+}
+
+//_____________________________________________________________________________
+Float_t AliCRTConstants::MagnetWidth() const
+{
+ // Magnet width
+ return fgkMagnetWidth;
+}
+
+//_____________________________________________________________________________
+Float_t AliCRTConstants::MagnetLenght() const
+{
+ // Magnet lenght
+ return fgkMagnetLenght;
+}
+
+//_____________________________________________________________________________
+Float_t AliCRTConstants::MagMinRadius() const
+{
+ // Magnet Inner radius
+ return fgkMagMinRadius;
+}
+
+//_____________________________________________________________________________
+Float_t AliCRTConstants::MagMaxRadius() const
+{
+ // Magnet outer radius
+ return fgkMagMaxRadius;
+}
+
+//_____________________________________________________________________________
+Float_t AliCRTConstants::Depth() const
+{
+ // Alice IP depth
+ return fgkDepth;
+}