]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TOF/AliTOF.h
TOF FEE configuration database dump stored in ReferenceData inside Calib/FEEDump
[u/mrichter/AliRoot.git] / TOF / AliTOF.h
index 7e9b79e3d0a11d8e8e1b39921d4031a8420fce80..7c74a3f0b1c20da68403e942a8fb1eecb657da0d 100644 (file)
@@ -1,6 +1,13 @@
+#ifndef ALITOF_H
+#define ALITOF_H
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
+
+/* $Id$ */
+
 ////////////////////////////////////////////////
 //                                           //
-//  Manager classe for TOF                    //
+//  Manager class for TOF                     //
 //  Interface :                               //
 //  AliTOF                                    //
 //  Associations between TOF related objects  //
 //                                            //
 ////////////////////////////////////////////////
 
-#ifndef ALITOF_H
-#define ALITOF_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice                               */
+#include "AliDetector.h"
 
-/* $Id$ */
+#include "AliTOFTrigger.h"
+#include "AliTOFDDLRawData.h"
 
-class TFile;
 class TDirectory;
+class TFile;
+class TFolder ;
 class TString ;  
 class TTask ;
-class TFolder ;
-
-#include "TObject.h"
-#include "TTree.h" 
-
-#include "AliDetector.h"
-
-#include "AliTOFSDigitizer.h"
-#include "AliTOFGeometry.h"
 
+class AliTOFGeometry;
 
 class AliTOF : public AliDetector {
 public:
   AliTOF(); 
   AliTOF(const char *name, const char *title, Option_t *option="noTimeZero");
+
   virtual ~AliTOF() ;
 // getters for AliTOF object status
   //Float_t GetTimeRes() const {return fTimeRes;};
@@ -45,43 +44,55 @@ public:
   virtual void    AddHit(Int_t track, Int_t* vol, Float_t* hits);
   virtual void    AddT0Hit(Int_t track, Int_t* vol, Float_t* hits);
   virtual void    AddDigit(Int_t* /*tracks*/, Int_t* /*vol*/) {};
-  virtual void    AddDigit(Int_t* tracks, Int_t* vol, Float_t* digits);
-  virtual void    AddSDigit(Int_t tracknum, Int_t* vol, Float_t* digits);
+  virtual void    AddDigit(Int_t* tracks, Int_t* vol, Int_t* digits);
+  virtual void    AddSDigit(Int_t tracknum, Int_t* vol, Int_t* digits);
   virtual void    CreateGeometry();
-  virtual void    CreateMaterials();
+  virtual void    CreateMaterials(){};
   virtual void    Init();
   //virtual void    MakeBranch(Option_t* option, const char *file=0);
   virtual void    MakeBranch(Option_t *opt=" ");
   virtual void    Makehits(Bool_t hits=1);
   virtual void    FinishEvent();
   virtual Int_t   IsVersion() const =0;
-  Int_t           DistancetoPrimitive(Int_t px, Int_t py);
   virtual void    StepManager()=0;
   virtual void    TOFpc(Float_t /*xtof*/, Float_t /*ytof*/, Float_t /*zlenC*/,
-                        Float_t /*zlenB*/, Float_t /*zlenA*/, Float_t /*ztof0*/){}
-  virtual void    DrawModule();
-  virtual void    DrawDetectorModules()=0;
-  virtual void    DrawDetectorStrips()=0;
+                        Float_t /*zlenB*/, Float_t /*zlenA*/, Float_t /*ztof0*/){};
+  virtual void    TOFpc(Float_t /*xtof*/,  Float_t /*ytof*/, Float_t /*zlenA*/,
+                       Float_t /*zlenB*/){};
+  virtual void    TOFpc(Float_t /*xtof*/,  Float_t /*ytof*/, Float_t /*zlenA*/){};
+  virtual void    DrawModule() const;
+  virtual void    DrawDetectorModules() const {};
+  virtual void    DrawDetectorStrips() const {};
   //virtual void   DrawDetectorModulesinFrame()=0;
   //virtual void   DrawDetectorStripsinFrame()=0;
           void    CreateTOFFolders();
-  Bool_t    CheckOverlap(Int_t* vol, Float_t* digit, Int_t Track);
+  Bool_t    CheckOverlap(Int_t* vol, Int_t* digit, Int_t Track);
   //virtual void    Hits2Digits();   
   virtual void    Hits2SDigits();
   virtual void    Hits2SDigits(Int_t evNumber1, Int_t evNumber2);
   virtual AliDigitizer* CreateDigitizer(AliRunDigitizer* manager) const; 
-  virtual void    Digits2Reco() {};
-          void    Digits2Raw ();
-          void    Raw2Digits (){};
-  virtual void    ResetHits();
-  virtual void    ResetDigits();
+  virtual void    Digits2Reco () {};
+          void    Digits2Raw  ();
+         void    Raw2Digits  () {};
+         void    Raw2Digits  (AliRawReader* rawReader);
+         Bool_t  Raw2SDigits (AliRawReader* rawReader);
+  virtual void    ResetHits   ();
+  virtual void    ResetDigits ();
   virtual void    ResetSDigits();
   TClonesArray *SDigits() const {return fSDigits;}
   TClonesArray *ReconParticles() const {return fReconParticles;}
   void RecreateSDigitsArray();
   void CreateSDigitsArray();
+  virtual void   SetTOFSectors(Int_t *sectors);
+  virtual void   GetTOFSectors(Int_t *sectors) const;
+  virtual void   SetTOFHoles(Bool_t holes) { fTOFHoles = holes; };
+  virtual Bool_t GetTOFHoles() const { return fTOFHoles; };
   AliTOFGeometry *GetGeometry() const { return fTOFGeometry; }; 
 
+  // Trigger
+  virtual AliTriggerDetector* CreateTriggerDetector() const
+       {return new AliTOFTrigger();}
+
 protected:
   TFolder* fFGeom ;       //  Folder that holds the Geometry definition
   TTask*   fDTask ;       //  TOF Digitizer container
@@ -99,11 +110,17 @@ protected:
   Int_t   fIdSens;     // The unique identifier for sensitive volume FPAD 
 
   Bool_t  fTZero;      // Flag indicating if T0 is used
+  Int_t fTOFSectors[18]; // Selecting TOF Sectors to be simulated
+  Bool_t fTOFHoles; // Selecting geometry with and w/o holes
   AliTOFGeometry *fTOFGeometry; //The TOF Geometry parameters
+
+  AliTOFDDLRawData fTOFRawWriter; // AliTOFDDLRawData variable
  
 private:
+  AliTOF(const AliTOF &source); // copy constructor
+  AliTOF& operator=(const AliTOF &source); // ass. op.
 
-  ClassDef(AliTOF,7)  // Time Of Flight base class
+  ClassDef(AliTOF,11)  // Time Of Flight base class
 };
  
 #endif /* ALITOF_H */