]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - VZERO/AliVZERO.h
More debug printout.
[u/mrichter/AliRoot.git] / VZERO / AliVZERO.h
... / ...
CommitLineData
1#ifndef ALIVZERO_H
2#define ALIVZERO_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6
7//////////////////////////////////////////////////
8// Manager and hits classes for set : VZERO //
9//////////////////////////////////////////////////
10
11/*
12#include "AliRun.h"
13#include "AliMC.h"
14#include "AliDetector.h"
15#include "AliVZEROLoader.h"
16
17#include <TNamed.h>
18#include <TTree.h>
19*/
20#include "AliDetector.h"
21#include "AliVZEROTrigger.h"
22
23class TNamed;
24class TTree;
25class TF1;
26
27class AliVZEROLoader;
28class AliVZEROhit;
29class AliVZEROdigit;
30class AliVZEROCalibData;
31class AliVZERORecoParam;
32
33class AliVZERO : public AliDetector {
34
35public:
36
37 AliVZERO();
38 AliVZERO(const char *name, const char *title);
39 virtual ~AliVZERO();
40
41 virtual void CreateGeometry();
42 virtual void CreateMaterials();
43 virtual void AddAlignableVolumes() const {}
44 virtual Int_t IsVersion() const = 0;
45 virtual void Init();
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() {};
54// Trigger
55 virtual AliTriggerDetector* CreateTriggerDetector() const
56 { return new AliVZEROTrigger(); }
57
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);
65
66 AliDigitizer* CreateDigitizer(AliDigitizationInput* digInput) const;
67
68 void GetCalibData();
69 Float_t CorrectLeadingTime(Int_t i, Float_t time, Float_t adc) const;
70 double SignalShape(double *x, double *par);
71
72protected:
73
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
77
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
83
84private:
85 AliVZERO(const AliVZERO& /*vzero*/);
86 AliVZERO& operator = (const AliVZERO& /*vzero*/);
87
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
94
95 ClassDef(AliVZERO,2) //Class for the VZERO detector
96};
97
98//____________________________________________________________
99
100#endif