Fix for memory leaks in digits TClonesArrays (Matevz)
[u/mrichter/AliRoot.git] / VZERO / AliVZEROv6.h
CommitLineData
c985a636 1#ifndef ALIVZEROv6_H
2#define ALIVZEROv6_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// //
9// Manager and hits classes for set : VZERO //
10// version 6 //
11// september 2005 //
12// //
13/////////////////////////////////////////////////////
14
c985a636 15#include "AliVZERO.h"
16
83f1e436 17// --- ROOT libraries ---
18#include "TClonesArray.h"
19#include "TLorentzVector.h"
20#include "TMath.h"
21#include "TObjectTable.h"
22#include "TVirtualMC.h"
23#include "TParticle.h"
24
25#include "TGeoManager.h"
26#include "TGeoMaterial.h"
27#include "TGeoMedium.h"
28#include "TGeoNode.h"
29#include "TGeoVolume.h"
30#include "TGeoTube.h"
31#include "TGeoMatrix.h"
32
33// --- AliRoot header files ---
34#include "AliRun.h"
35#include "AliMC.h"
36#include "AliConst.h"
37#include "AliMagF.h"
38#include "AliVZEROhit.h"
d10fffe1 39#include "AliVZEROdigit.h"
83f1e436 40#include "AliLog.h"
41
c985a636 42class AliVZEROv6 : public AliVZERO {
43
44public:
45 AliVZEROv6();
46 AliVZEROv6(const char *name, const char *title);
47 virtual ~AliVZEROv6() {};
48 virtual void AddHit(Int_t track, Int_t *vol, Float_t *hits);
49 virtual void AddDigits(Int_t *tracks, Int_t *digits);
50 virtual void CreateGeometry();
c985a636 51 virtual void CreateMaterials();
52 virtual void DrawModule() const;
53 virtual void DrawGeometry();
54 virtual void Init();
55 virtual void MakeBranch(Option_t *option);
56 virtual Int_t IsVersion() const {return fVersion;};
57 virtual void StepManager();
58 Int_t GetCellId(Int_t *vol, Float_t *hits);
59
60protected:
61 Int_t fCellId; // Scintillator cell number from 0 to 95
62 TLorentzVector fTrackPosition; // Position of particle entering cell
63 TLorentzVector fTrackMomentum; // Momentum of particle entering cell
64
65private:
66
67// Parameters related to geometry :
68// V0 part in front of muon arm absorber
69
83f1e436 70 Float_t fV0CHeight1, fV0CHeight2, fV0CHeight3, fV0CHeight4; // Heights of V0C elements
71 Float_t fV0CRMin, fV0CRBox; // Min and max radii of V0C box
72 Float_t fV0CLidThickness; // Thickness of V0C box lid
73 Float_t fV0CCellThickness; // Thickness of V0C cell
74 Float_t fV0CBoxThickness; // Thickness of V0C box
75 Float_t fV0COffsetFibers; // Z offsets to output fibers
c985a636 76
77// V0 part on the other side with respect to IP
78
83f1e436 79 Float_t fV0AHeight1, fV0AHeight2, fV0AHeight3, fV0AHeight4; // Heights of V0A elements
80 Float_t fV0ARMin; // Minimim radius of V0A box
81 Float_t fV0ACellThickness; // Thickness of V0A cell
c985a636 82
83// Parameters related to light production :
84
85 Float_t fLightYield; // Lightyield in BC408 (93.75 eV per photon)
86 Float_t fLightAttenuation; // LightAttenuation in fibers (0.05 per meter)
87 Float_t fnMeters; // Number of meters of fibers to PM
88 Float_t fFibToPhot; // Loss in Fibers - Photocathode Connection
89 Int_t fVersion; // Version number == IsVersion
90
91 ClassDef(AliVZEROv6,1) //Class for VZERO version 6
92};
93
94#endif
95
96