]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - VZERO/AliVZERO.h
Add example of mixing with RAW
[u/mrichter/AliRoot.git] / VZERO / AliVZERO.h
index e7826d4da4c62f83ed214e029d414267e9c0baab..0bf998805b7fa01f8ac3055bfb807666df7b63d3 100755 (executable)
@@ -1,5 +1,5 @@
-#ifndef VZERO_H
-#define VZERO_H
+#ifndef ALIVZERO_H
+#define ALIVZERO_H
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 
@@ -8,20 +8,30 @@
 //  Manager and hits classes for set : VZERO    //
 //////////////////////////////////////////////////
 
+/*
 #include "AliRun.h"
-#include "AliLoader.h" 
+#include "AliMC.h"
 #include "AliDetector.h"
-#include "AliHit.h"
-#include "TNamed.h"
-#include "TTree.h"
+#include "AliVZEROLoader.h"
+#include <TNamed.h>
+#include <TTree.h>
+*/
+#include "AliDetector.h"
+#include "AliVZEROTrigger.h"
+
+class TNamed;
+class TTree;
 
+class AliVZEROLoader;
 class AliVZEROhit; 
+class AliVZEROdigit;
+  
 class AliVZERO : public AliDetector {
  
 public:
 
-  AliVZERO() {}
+  AliVZERO();
   AliVZERO(const char *name, const char *title);
   virtual       ~AliVZERO();
 //  virtual void   AddHit(Int_t track , Int_t *vol, Float_t *hits)=0; 
@@ -29,34 +39,43 @@ public:
   virtual void   BuildGeometry();
   virtual void   CreateGeometry();
   virtual void   CreateMaterials();
+  virtual void   AddAlignableVolumes() const {}
   virtual Int_t  DistanceToPrimitive(Int_t px, Int_t py);
   virtual Int_t  IsVersion() const = 0;
   virtual void   Init();
   virtual AliLoader* MakeLoader(const char* topfoldername);
+  virtual void   Hits2Digits();
+  virtual void   Digits2Raw();
+  virtual Bool_t Raw2SDigits(AliRawReader*);
+  virtual void   SetTreeAddress();  
   virtual void   MakeBranch(Option_t *option) =0;
-//  virtual void   MakeBranch(Option_t *option);
-  virtual void   DrawModule() {};
+  virtual void   DrawModule() const {};
   virtual void   StepManager() {};
-  virtual inline  void   SetThickness(Float_t thick)  {fThickness = thick;};
-  virtual inline  void   SetThickness1(Float_t thick) {fThickness1 = thick;};
+// Trigger 
+  virtual AliTriggerDetector* CreateTriggerDetector() const 
+  { return new AliVZEROTrigger(); }
+  
+  virtual void   SetThickness(Float_t thick)  {fThickness = thick;};
+  virtual void   SetThickness1(Float_t thick) {fThickness1 = thick;};
 // Set Stepping Parameters
   virtual void   SetMaxStepQua(Float_t p1);
   virtual void   SetMaxStepAlu(Float_t p1);
   virtual void   SetMaxDestepQua(Float_t p1);
   virtual void   SetMaxDestepAlu(Float_t p1);
 
-   Float_t      fThickness;
-   Float_t      fThickness1;
+  AliDigitizer*  CreateDigitizer(AliRunDigitizer* manager) const;
 
 protected:
 
-   Int_t fIdSens1;
+   Int_t   fIdSens1;      // Sensitive volume  in VZERO
+   Float_t fThickness;    // Total thickness of box holding Right detector V0R i.e. 4.1 cm
+   Float_t fThickness1;   // Thickness of elementary cells i.e. 0.7 cm
   
 // Stepping Parameters
-   Float_t fMaxStepQua;      // Maximum step size inside the quartz volumes
-   Float_t fMaxStepAlu;      // Maximum step size inside the  aluminum volumes
-   Float_t fMaxDestepQua;    // Maximum relative energy loss in quartz
-   Float_t fMaxDestepAlu;    // Maximum relative energy loss in aluminum
+   Float_t fMaxStepQua;   // Maximum step size inside the quartz volumes
+   Float_t fMaxStepAlu;   // Maximum step size inside the  aluminum volumes
+   Float_t fMaxDestepQua; // Maximum relative energy loss in quartz
+   Float_t fMaxDestepAlu; // Maximum relative energy loss in aluminum
   
   ClassDef(AliVZERO,1)  //Class for the VZERO detector
 };