]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PHOS/AliPHOSv0.h
new digitization and reconstruction corresponded to new data format
[u/mrichter/AliRoot.git] / PHOS / AliPHOSv0.h
1 #ifndef ALIPHOSV0_H
2 #define ALIPHOSV0_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 /* History of cvs commits:
9  *
10  * $Log$
11  */
12
13 //_________________________________________________________________________
14 // Implementation version v0 of PHOS Manager class 
15 // Layout EMC + CPV  has name IHEP
16 //*--                  
17 //*-- Author: Yves Schutz (SUBATECH)
18
19 // --- ROOT system ---
20
21 class TFile;
22 class TFolder;
23
24 // --- AliRoot header files ---
25 #include "AliPHOS.h"
26
27 class AliPHOSv0 : public AliPHOS {
28
29  public:
30
31   AliPHOSv0() {}
32   AliPHOSv0(const char *name, const char *title="") ;
33   AliPHOSv0(AliPHOSv0 & phos) : AliPHOS(phos) {
34     phos.Copy(*this) ; 
35   } 
36   virtual ~AliPHOSv0(void){
37     // dtor
38   } 
39   virtual void Copy(TObject &phos) const; 
40
41 //    virtual void   AddHit( Int_t shunt, Int_t primary, Int_t track, Int_t id, Float_t *hits ) {
42   //this function is not a final-overrider for AliPHOS::AddHit, to
43   //supress warning, I use using-declaration :)
44   using AliPHOS::AddHit;
45   virtual void   AddHit( Int_t, Int_t, Int_t, Int_t, Float_t*) {
46     // useless since there are no hits
47     Fatal("AddHit", "not to be used with v0") ;
48   }
49   virtual void   BuildGeometry(void) ;             // creates the geometry for the ROOT display
50   void           BuildGeometryforEMC(void) ;      // creates the PHOS geometry for the ROOT display
51   //  void           BuildGeometryforPPSD(void) ;      // creates the PPSD geometry for the ROOT display
52   void           BuildGeometryforCPV(void) ;       // creates the CPV  geometry for the ROOT display
53   virtual void   CreateGeometry(void) ;            // creates the geometry for GEANT
54   void           CreateGeometryforEMC(void) ;     // creates the PHOS geometry for GEANT
55   //  void           CreateGeometryforPPSD(void) ;     // creates the PPSD geometry for GEANT
56   void           CreateGeometryforCPV(void) ;      // creates the CPV  geometry for GEANT
57   void           CreateGeometryforSupport(void) ;  // creates the Support geometry for GEANT
58   virtual Float_t ZMin() const;                    // overall dimension of the module (min)
59   virtual Float_t ZMax() const;                    // overall dimension of the module (max)
60
61   virtual void   Init(void) ;                      // does nothing
62   virtual Int_t  IsVersion(void) const { 
63     // Gives the version number 
64     return 0 ; 
65   }
66   virtual const TString Version(void)const { 
67     // As above
68     return TString("v0") ; 
69   }
70   
71   AliPHOSv0 & operator = (const AliPHOSv0 & /*rvalue*/)  {
72     // assignement operator requested by coding convention but not needed
73     Fatal("operator =", "not implemented") ;
74     return *this ; 
75   }
76   
77  protected:
78   
79
80   ClassDef(AliPHOSv0,1)  // Implementation of PHOS manager class for layout EMC+PPSD
81     
82     };
83     
84 #endif // AliPHOSV0_H