]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - CRT/AliCRTConstants.h
Default shish-kebab geometry for EMCAL
[u/mrichter/AliRoot.git] / CRT / AliCRTConstants.h
index e305de9439601ccfb73be2b0d94d83a651888352..3e8941438222d7a5f6344c119cda876abe1bba75 100644 (file)
@@ -13,7 +13,6 @@
 // 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 <TObject.h>
 
-class AliCRTConstants {
- public:
-  // Modules
-  static const Float_t fgCageLenght; // Module lenght
-  static const Float_t fgCageWidth;  // Module width
-  static const Float_t fgCageHeight; // Module height
-
-// The dimensions of the active area of a single palette are:
-  static const Float_t fgSinglePaletteLenght; // 
-  static const Float_t fgSinglePaletteWidth; // 
-  static const Float_t fgSinglePaletteHeight; // 
-  
-  static const Float_t fgActiveAreaGap; // 
-  
-  // Aproximate dimensions of the active area of the module.
-  static const Float_t fgActiveAreaLenght;
-  static const Float_t fgActiveAreaWidth; // 
-  static const Float_t fgActiveAreaHeight;
-  
-  // Magnet
-  static const Float_t fgMagnetWidth; // 
-  static const Float_t fgMagnetLenght; // 
-  
- private:
-  AliCRTConstants() {}
-  virtual ~AliCRTConstants() {}
+enum ECRMode {
+  kSingleMuons,
+  kMuonBundle,
+  kMuonFlux
+};
+
+class AliCRTConstants : public TObject {
+public:
+  virtual ~AliCRTConstants();
+
+  static AliCRTConstants* Instance();
+
+  Float_t CageLenght() const;
+  Float_t CageWidth() const;
+  Float_t CageHeight() const;
+
+  Float_t SinglePaletteLenght() const;
+  Float_t SinglePaletteWidth() const;
+  Float_t SinglePaletteHeight() const;
+
+  Float_t ActiveAreaGap() const;
+  Float_t ActiveAreaLenght() const;
+  Float_t ActiveAreaWidth() const;
+  Float_t ActiveAreaHeight() const;
+
+  Float_t MagnetWidth() const;
+  Float_t MagnetLenght() const;
+  Float_t MagMinRadius() const;
+  Float_t MagMaxRadius() const;
+
+  Float_t Depth() const;
 
+protected:
+  AliCRTConstants();
+  AliCRTConstants(const AliCRTConstants& ct);
+  AliCRTConstants& operator=(const AliCRTConstants& ct);
+
+  static AliCRTConstants* fgInstance; // static instanton
+
+  static const Float_t fgkCageLenght; // Cage lenght
+  static const Float_t fgkCageWidth;  // Cage width
+  static const Float_t fgkCageHeight; // Cage height
+
+  static const Float_t fgkSinglePaletteLenght; // Palette lenght
+  static const Float_t fgkSinglePaletteWidth;  // Palette width
+  static const Float_t fgkSinglePaletteHeight; // Palette height
+
+  static const Float_t fgkActiveAreaGap; // Scintillator active area
+
+  static const Float_t fgkActiveAreaLenght; // Active area lenght
+  static const Float_t fgkActiveAreaWidth;  // Active area width
+  static const Float_t fgkActiveAreaHeight; // Active area height
+
+  static const Float_t fgkMagnetWidth;  // Magnet widht
+  static const Float_t fgkMagnetLenght; // Magnet lenght
+  static const Float_t fgkMagMinRadius; // Magnet inside radius
+  static const Float_t fgkMagMaxRadius; // Magnet outer radius
+
+  static const Float_t fgkDepth; // Alice IP depth from surface
+
+ private:
   ClassDef(AliCRTConstants, 0)   // CRT(ACORDE) global constants
 };
-    
 #endif // ALICRTCONSTANTS_H