Minor modifications
[u/mrichter/AliRoot.git] / ZDC / AliZDC.h
1 #ifndef ALIZDC_H
2 #define ALIZDC_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 ////////////////////////////////////////////////
9 //  Manager and classes for set ZDC           //
10 ////////////////////////////////////////////////
11  
12 #include "AliDetector.h"
13
14  
15 class AliZDC : public AliDetector {
16
17 public:
18   AliZDC();
19   AliZDC(const char *name, const char *title);
20   virtual       ~AliZDC();
21   virtual void  AddHit(Int_t track, Int_t *vol, Float_t *hits);
22   virtual void  BuildGeometry();
23   virtual void  CreateGeometry() {}
24   virtual void  CreateMaterials() {}
25   Int_t         DistancetoPrimitive(Int_t px, Int_t py);
26   virtual Int_t IsVersion() const =0;
27   virtual void  StepManager();
28   virtual void  ResetDigits(); 
29   
30   // Switching off the shower development in ZDCs
31   virtual void  NoShower(){fNoShower=1;}
32   virtual void  Shower()  {fNoShower=0;}
33   
34 protected:
35
36   // Parameters for hadronic calorimeters geometry
37   Float_t fDimZN[3];  // Dimensions of neutron detector
38   Float_t fDimZP[3];  // Dimensions of proton detector
39   Float_t fPosZN[3];  // Position of neutron detector
40   Float_t fPosZP[3];  // Position of proton detector
41   Float_t fFibZN[3];  // Fibers for neutron detector
42   Float_t fFibZP[3];  // Fibers for proton detector
43   Float_t fGrvZN[3];  // Grooves for neutron detector
44   Float_t fGrvZP[3];  // Grooves for proton detector
45   Int_t   fDivZN[3];  // Division for neutron detector
46   Int_t   fDivZP[3];  // Division for proton detector
47   Int_t   fTowZN[2];  // Tower for neutron detector
48   Int_t   fTowZP[2];  // Tower for proton detector
49
50   // Parameters for EM calorimeter geometry
51   Float_t fDimZEMPb;  // z-dimension of the Pb slice
52   Float_t fDimZEMAir; // scotch
53   Float_t fFibRadZEM; // External fiber radius (including cladding)
54   Float_t fFibZEM[3]; // Fibers for EM calorimeter
55   Float_t fDimZEM[6]; // Dimensions of EM detector
56   Float_t fPosZEM[3]; // Position of EM detector
57   Int_t   fDivZEM[3]; // Divisions for EM detector
58   
59   // TClonesArray of stored hits -> not reset et finish event
60   //    (for digitization at the end of the event)
61   TClonesArray *fStHits;
62   Int_t fNStHits;
63   
64   Int_t   fNPrimaryHits;
65
66   //Flag to switch off the shower
67   Int_t   fNoShower;
68
69    ClassDef(AliZDC,1)  // Zero Degree Calorimeter base class
70 };
71  
72 #endif