]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TOF/AliTOFGeometry.h
Include Methods to derive TOF AlignObjs from Survey Data
[u/mrichter/AliRoot.git] / TOF / AliTOFGeometry.h
index fac9380b571df02f3105e0c36e52f1937f637f10..0e7632ea11e6e8600dccd520e5d095f15294f3d6 100644 (file)
@@ -1,5 +1,6 @@
 #ifndef ALITOFGEOMETRY_H
 #define ALITOFGEOMETRY_H
+
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 
@@ -11,9 +12,8 @@
 //                                                                           //
 ///////////////////////////////////////////////////////////////////////////////
 
-
+#include "TGeoMatrix.h"
 #include "TObject.h"
-#include "TGeoManager.h"
 
 class AliTOFGeometry: public TObject{
 
@@ -30,6 +30,8 @@ class AliTOFGeometry: public TObject{
   static  Int_t NpadXStrip()  { return kNpadX*kNpadZ;};
   static  Int_t NSectors()    { return kNSectors;};
   static  Int_t NPlates()     { return kNPlates;};
+  virtual Int_t NStripXSector() const { return (kNStripA + 2*kNStripB +
+                                               2*fNStripC);};
   virtual Int_t NPadXSector() const { return (kNStripA + 2*kNStripB +
                                        2*fNStripC)*kNpadX*kNpadZ;};
 
@@ -48,8 +50,9 @@ class AliTOFGeometry: public TObject{
   static  Int_t NDDL()        { return kNDDL;};
   static  Int_t NTRM()        { return kNTRM;}
   static  Int_t NTdc()        { return kNTdc;};
+  static  Int_t NChain()      { return kNChain;};
   static  Int_t NCh()         { return kNCh;};
-  static  Int_t NPadXTRM()    { return kNCh*kNTdc;};
+  static  Int_t NPadXTRM()    { return kNCh*kNTdc*kNChain;};
 
   virtual  Float_t ZlenA() const      { return fZlenA;};
   virtual  Float_t ZlenB() const      { return fZlenB;};
@@ -62,7 +65,7 @@ class AliTOFGeometry: public TObject{
   static  Double_t GetAlpha()  { return 2 * 3.14159265358979323846 / kNSectors; }; 
  
   static Float_t TdcBinWidth() {return fgkTdcBin;};
-
+  static Float_t ToTBinWidth() {return fgkToTBin;};
 
   virtual void    Init();
   virtual void    ImportGeometry() {};
@@ -73,6 +76,8 @@ class AliTOFGeometry: public TObject{
   virtual Bool_t  IsInsideThePad(Int_t */*det*/,TGeoHMatrix /*mat*/, Float_t */*pos*/) const {return kFALSE;};
   virtual Float_t DistanceToPad(Int_t */*det*/,TGeoHMatrix /*mat*/, Float_t */*pos*/, Float_t *dist3d=0) const {return dist3d[0];};
   virtual void    GetVolumePath(Int_t */*ind*/, Char_t */*path*/ ){};
+  virtual void    GetVolumePath(Int_t /*sector*/, Char_t */*path*/ ){};
+  virtual void    GetVolumePath(Int_t /*sector*/, Int_t /*plate*/, Int_t /*strip*/, Char_t */*path*/ ){};
   virtual void    GetPos(Int_t */*det*/,Float_t */*pos*/){};
   virtual void    GetPosPar(Int_t *det,Float_t *pos) const;
   virtual void    GetDetID(Float_t *pos,Int_t *det) const;
@@ -84,6 +89,9 @@ class AliTOFGeometry: public TObject{
   virtual Float_t GetX(Int_t */*det*/) const {return -500.;};
   virtual Float_t GetY(Int_t */*det*/) const {return -500.;};
   virtual Float_t GetZ(Int_t */*det*/) const {return -500.;};
+  virtual void    DetToStripRF(Int_t nPadX, Int_t nPadZ,
+                              Float_t &x,  Float_t &z) const;
+  virtual void    DetToSectorRF(Int_t /*vol*/[5], Double_t ** /*coord*/) { };
 
   Float_t GetAngles(Int_t iplate, Int_t istrip)  const {return fAngles[iplate][istrip];};
   Float_t GetHeights(Int_t iplate, Int_t istrip) const {return fHeights[iplate][istrip];};
@@ -108,8 +116,9 @@ class AliTOFGeometry: public TObject{
   // TARODA : TOF-ALICE Read Out and Data Acquisition system
   enum {
     kNDDL        =    4, // Number of DDL (Detector Data Link) per sector
-    kNTRM        =   10, // Number of TRM ( Readout Module) per DDL
-    kNTdc        =   30, // Number of Tdc (Time to Digital Converter) per TRM
+    kNTRM        =   12, // Number of TRM ( Readout Module) per DDL
+    kNTdc        =   15, // Number of Tdc (Time to Digital Converter) per TRM
+    kNChain      =    2, // Number of chains per TRM
     kNCh         =    8  // Number of channels per Tdc
   };
 
@@ -142,7 +151,8 @@ class AliTOFGeometry: public TObject{
 
   Float_t fPhiSec; //sector Phi width (deg)
 
-  static const Float_t fgkTdcBin;   // time-window for the TDC bins [ps]
+  static const Float_t fgkTdcBin;   // time-of-flight bin width [ps]
+  static const Float_t fgkToTBin;   // time-over-threshold bin width [ps]
 
   ClassDef(AliTOFGeometry,4) // TOF Geometry base class
 };