3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
7 //////////////////////////////////////////////////
8 // Manager and hits classes for set : VZERO //
9 //////////////////////////////////////////////////
14 #include "AliDetector.h"
15 #include "AliVZEROLoader.h"
20 #include "AliDetector.h"
21 #include "AliVZEROTrigger.h"
30 class AliVZEROCalibData;
31 class AliVZERORecoParam;
33 class AliVZERO : public AliDetector {
38 AliVZERO(const char *name, const char *title);
41 virtual void CreateGeometry();
42 virtual void CreateMaterials();
43 virtual void AddAlignableVolumes() const {}
44 virtual Int_t IsVersion() const = 0;
46 virtual AliLoader* MakeLoader(const char* topfoldername);
47 virtual void Hits2Digits();
48 virtual void Hits2SDigits();
49 virtual void Digits2Raw();
50 virtual Bool_t Raw2SDigits(AliRawReader*);
51 virtual void SetTreeAddress();
52 virtual void MakeBranch(Option_t *option) =0;
53 virtual void StepManager() {};
55 virtual AliTriggerDetector* CreateTriggerDetector() const
56 { return new AliVZEROTrigger(); }
58 virtual void SetThickness(Float_t thick) {fThickness = thick;};
59 virtual void SetThickness1(Float_t thick) {fThickness1 = thick;};
60 // Set Stepping Parameters
61 virtual void SetMaxStepQua(Float_t p1);
62 virtual void SetMaxStepAlu(Float_t p1);
63 virtual void SetMaxDestepQua(Float_t p1);
64 virtual void SetMaxDestepAlu(Float_t p1);
66 AliDigitizer* CreateDigitizer(AliDigitizationInput* digInput) const;
69 Float_t CorrectLeadingTime(Int_t i, Float_t time, Float_t adc) const;
70 double SignalShape(double *x, double *par);
74 Int_t fIdSens1; // Sensitive volume in VZERO
75 Float_t fThickness; // Total thickness of box holding Right detector V0R i.e. 4.1 cm
76 Float_t fThickness1; // Thickness of elementary cells i.e. 0.7 cm
78 // Stepping Parameters
79 Float_t fMaxStepQua; // Maximum step size inside the quartz volumes
80 Float_t fMaxStepAlu; // Maximum step size inside the aluminum volumes
81 Float_t fMaxDestepQua; // Maximum relative energy loss in quartz
82 Float_t fMaxDestepAlu; // Maximum relative energy loss in aluminum
85 AliVZERO(const AliVZERO& /*vzero*/);
86 AliVZERO& operator = (const AliVZERO& /*vzero*/);
88 AliVZEROCalibData *fCalibData; //! Pointer to the calibration object
89 Int_t fNBins[64]; //! Number of bins in each SDigit
90 Float_t fBinSize[64]; //! Bin size in each SDigit
91 TF1* fTimeSlewing; //! Function for time slewing correction
92 TF1* fSignalShape; //! Function for signal shape used in Raw->SDigits
93 AliVZERORecoParam *fRecoParam; //! Reco params used in Raw->SDigits
95 ClassDef(AliVZERO,2) //Class for the VZERO detector
98 //____________________________________________________________