ROOT logo
#ifndef ALIVZERO_H
#define ALIVZERO_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */


//////////////////////////////////////////////////
//  Manager and hits classes for set : VZERO    //
//////////////////////////////////////////////////

/*
#include "AliRun.h"
#include "AliMC.h"
#include "AliDetector.h"
#include "AliVZEROLoader.h"
 
#include <TNamed.h>
#include <TTree.h>
*/
#include "AliDetector.h"
#include "AliVZEROTrigger.h"

class TNamed;
class TTree;
class TF1;

class AliVZEROLoader;
class AliVZEROhit; 
class AliVZEROdigit;
class AliVZEROCalibData;
class AliVZERORecoParam;
  
class AliVZERO : public AliDetector {
 
public:

  AliVZERO();
  AliVZERO(const char *name, const char *title);
  virtual       ~AliVZERO();

  virtual void   CreateGeometry();
  virtual void   CreateMaterials();
  virtual void   AddAlignableVolumes() const {}
  virtual Int_t  IsVersion() const = 0;
  virtual void   Init();
  virtual AliLoader* MakeLoader(const char* topfoldername);
  virtual void   Hits2Digits();
  virtual void   Hits2SDigits();
  virtual void   Digits2Raw();
  virtual Bool_t Raw2SDigits(AliRawReader*);
  virtual void   SetTreeAddress();  
  virtual void   MakeBranch(Option_t *option) =0;
  virtual void   StepManager() {};
// 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);

  AliDigitizer*  CreateDigitizer(AliDigitizationInput* digInput) const;

  void           GetCalibData();
  Float_t        CorrectLeadingTime(Int_t i, Float_t time, Float_t adc) const;
  double         SignalShape(double *x, double *par);

protected:

   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

private:
   AliVZERO(const AliVZERO& /*vzero*/); 
   AliVZERO& operator = (const AliVZERO& /*vzero*/); 

   AliVZEROCalibData *fCalibData;      //! Pointer to the calibration object
   Int_t              fNBins[64];      //! Number of bins in each SDigit
   Float_t            fBinSize[64];    //! Bin size in each SDigit
   TF1*               fTimeSlewing;    //! Function for time slewing correction
   TF1*               fSignalShape;    //! Function for signal shape used in Raw->SDigits
   AliVZERORecoParam *fRecoParam;      //! Reco params used in Raw->SDigits

  ClassDef(AliVZERO,2)  //Class for the VZERO detector
};

//____________________________________________________________

#endif
 AliVZERO.h:1
 AliVZERO.h:2
 AliVZERO.h:3
 AliVZERO.h:4
 AliVZERO.h:5
 AliVZERO.h:6
 AliVZERO.h:7
 AliVZERO.h:8
 AliVZERO.h:9
 AliVZERO.h:10
 AliVZERO.h:11
 AliVZERO.h:12
 AliVZERO.h:13
 AliVZERO.h:14
 AliVZERO.h:15
 AliVZERO.h:16
 AliVZERO.h:17
 AliVZERO.h:18
 AliVZERO.h:19
 AliVZERO.h:20
 AliVZERO.h:21
 AliVZERO.h:22
 AliVZERO.h:23
 AliVZERO.h:24
 AliVZERO.h:25
 AliVZERO.h:26
 AliVZERO.h:27
 AliVZERO.h:28
 AliVZERO.h:29
 AliVZERO.h:30
 AliVZERO.h:31
 AliVZERO.h:32
 AliVZERO.h:33
 AliVZERO.h:34
 AliVZERO.h:35
 AliVZERO.h:36
 AliVZERO.h:37
 AliVZERO.h:38
 AliVZERO.h:39
 AliVZERO.h:40
 AliVZERO.h:41
 AliVZERO.h:42
 AliVZERO.h:43
 AliVZERO.h:44
 AliVZERO.h:45
 AliVZERO.h:46
 AliVZERO.h:47
 AliVZERO.h:48
 AliVZERO.h:49
 AliVZERO.h:50
 AliVZERO.h:51
 AliVZERO.h:52
 AliVZERO.h:53
 AliVZERO.h:54
 AliVZERO.h:55
 AliVZERO.h:56
 AliVZERO.h:57
 AliVZERO.h:58
 AliVZERO.h:59
 AliVZERO.h:60
 AliVZERO.h:61
 AliVZERO.h:62
 AliVZERO.h:63
 AliVZERO.h:64
 AliVZERO.h:65
 AliVZERO.h:66
 AliVZERO.h:67
 AliVZERO.h:68
 AliVZERO.h:69
 AliVZERO.h:70
 AliVZERO.h:71
 AliVZERO.h:72
 AliVZERO.h:73
 AliVZERO.h:74
 AliVZERO.h:75
 AliVZERO.h:76
 AliVZERO.h:77
 AliVZERO.h:78
 AliVZERO.h:79
 AliVZERO.h:80
 AliVZERO.h:81
 AliVZERO.h:82
 AliVZERO.h:83
 AliVZERO.h:84
 AliVZERO.h:85
 AliVZERO.h:86
 AliVZERO.h:87
 AliVZERO.h:88
 AliVZERO.h:89
 AliVZERO.h:90
 AliVZERO.h:91
 AliVZERO.h:92
 AliVZERO.h:93
 AliVZERO.h:94
 AliVZERO.h:95
 AliVZERO.h:96
 AliVZERO.h:97
 AliVZERO.h:98
 AliVZERO.h:99
 AliVZERO.h:100