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