Line data Source code
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.44 2006/09/27 19:55:57 kharlov
12 : * Alignment object with symbolic volume names are introduced
13 : *
14 : * Revision 1.43 2005/05/28 14:19:05 schutz
15 : * Compilation warnings fixed by T.P.
16 : *
17 : */
18 :
19 : //_________________________________________________________________________
20 : // Implementation version v0 of PHOS Manager class
21 : // Layout EMC + CPV has name IHEP
22 : //*--
23 : //*-- Author: Yves Schutz (SUBATECH)
24 :
25 : // --- ROOT system ---
26 :
27 : class TFile;
28 : class TFolder;
29 :
30 : // --- AliRoot header files ---
31 : #include "AliPHOS.h"
32 :
33 : class AliPHOSv0 : public AliPHOS {
34 :
35 : public:
36 :
37 24 : AliPHOSv0() {}
38 : AliPHOSv0(const char *name, const char *title="") ;
39 0 : virtual ~AliPHOSv0(void){
40 : // dtor
41 26 : }
42 :
43 : // virtual void AddHit( Int_t shunt, Int_t primary, Int_t track, Int_t id, Float_t *hits ) {
44 : //this function is not a final-overrider for AliPHOS::AddHit, to
45 : //supress warning, I use using-declaration :)
46 : using AliPHOS::AddHit;
47 : virtual void AddHit( Int_t, Int_t, Int_t, Int_t, Float_t*) {
48 : // useless since there are no hits
49 0 : Fatal("AddHit", "not to be used with v0") ;
50 0 : }
51 : virtual void CreateGeometry(void) ; // creates the geometry for GEANT
52 : void CreateGeometryforEMC(void) ; // creates the PHOS geometry for GEANT
53 : // void CreateGeometryforPPSD(void) ; // creates the PPSD geometry for GEANT
54 : void CreateGeometryforCPV(void) ; // creates the CPV geometry for GEANT
55 : void CreateGeometryforSupport(void) ; // creates the Support geometry for GEANT
56 : virtual void AddAlignableVolumes() const; // define sym.names for alignable volumes
57 :
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 0 : return 0 ;
65 : }
66 : virtual const TString Version(void)const {
67 : // As above
68 0 : return TString("v0") ;
69 : }
70 :
71 :
72 : private:
73 : AliPHOSv0(AliPHOSv0 & phos);
74 : AliPHOSv0 & operator = (const AliPHOSv0 & /*rvalue*/);
75 :
76 : protected:
77 : Bool_t fCreateCPV ; //Should we create module with CPV
78 : Bool_t fCreateHalfMod ; //Should we create 1/2 filled module
79 : Bool_t fActiveModule[6] ; //list of modules to create
80 : Bool_t fActiveCPV[6] ; //list of modules with CPV
81 :
82 : private:
83 :
84 32 : ClassDef(AliPHOSv0,2) // Implementation of PHOS manager class for layout EMC+PPSD
85 :
86 : };
87 :
88 : #endif // AliPHOSV0_H
|