]> git.uio.no Git - u/mrichter/AliRoot.git/blob - AD/ADsim/AliADv1.h
Update master to aliroot
[u/mrichter/AliRoot.git] / AD / ADsim / AliADv1.h
1 #ifndef ALIADV1_H
2 #define ALIADV1_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 : AD       //
9 //////////////////////////////////////////////////
10
11 ///////////////////////////////////////////////////////////////////////////
12 //                                                                       //
13 //                  AD (ALICE Diffractive)  Detector                     //
14 //                                                                       //
15 //  This class contains the base procedures for the AD  detector         //
16 //  New geometry of 2014                                                 //
17 //  All comments should be sent to :                                     //
18 //                                                                       //
19 //                                                                       //
20 ///////////////////////////////////////////////////////////////////////////
21
22 #include "AliAD.h"
23 #include "TGeoCompositeShape.h"
24 class AliADv1 : public AliAD {
25 public:
26    
27                         AliADv1();
28                         AliADv1(const char *name, const char *title);
29   virtual void   AddAlignableVolumes() const;
30   virtual              ~AliADv1();
31
32    
33   virtual TString  Version() { return TString("v1"); }
34   virtual   Int_t  IsVersion() const { return 1; }
35   virtual    void  AddHit(Int_t track, Int_t *vol, Float_t *hits);
36   // virtual    void  AddDigits(Int_t* track, Int_t module, Float_t time);
37   virtual    void  MakeBranch(Option_t *option);
38   virtual    void  CreateGeometry();
39   virtual    void  Init();
40   virtual    void  StepManager();
41   virtual    void  DisableTunnelStruct() { fADCstruct = kFALSE; }
42
43   enum ADCPosition_t { kADCInTunnel, kADCInCavern, kADCInBoth};
44
45 protected:
46
47   // functions for ADA and ADC
48   void ReadADCFromEnv(void);
49   TGeoCompositeShape * MakeShapeADCpadH(const Double_t W, const Double_t H, const Double_t dz);
50   virtual    void  CreateAD();
51 private:
52   // Position of ADC: In the Tunnel, In the Cavern, or in Both
53   Bool_t      fADCstruct;
54   ADCPosition_t fADCPosition;
55   //! ADC Geometrical & Optical parameters :
56   
57   Double_t    fADCLightYield;       //! Lightyield in NE102
58   Double_t    fADCPhotoCathodeEfficiency;
59
60   //! ADA Geometrical & Optical parameters :
61  
62   Double_t    fADALightYield;       //! Lightyield in NE102
63   Double_t    fADAPhotoCathodeEfficiency;  
64
65
66   AliADv1(const AliAD&); 
67   AliADv1& operator = (const AliADv1&); 
68   
69   ClassDef(AliADv1, 1)  //!Class for the AD detector
70    
71 };
72
73
74 #endif