ROOT logo
#ifndef ALIPHOSV0_H
#define ALIPHOSV0_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/* $Id$ */

/* History of cvs commits:
 *
 * $Log$
 * Revision 1.44  2006/09/27 19:55:57  kharlov
 * Alignment object with symbolic volume names are introduced
 *
 * Revision 1.43  2005/05/28 14:19:05  schutz
 * Compilation warnings fixed by T.P.
 *
 */

//_________________________________________________________________________
// Implementation version v0 of PHOS Manager class 
// Layout EMC + CPV  has name IHEP
//*--                  
//*-- Author: Yves Schutz (SUBATECH)

// --- ROOT system ---

class TFile;
class TFolder;

// --- AliRoot header files ---
#include "AliPHOS.h"

class AliPHOSv0 : public AliPHOS {

 public:

  AliPHOSv0() {}
  AliPHOSv0(const char *name, const char *title="") ;
  virtual ~AliPHOSv0(void){
    // dtor
  } 

//    virtual void   AddHit( Int_t shunt, Int_t primary, Int_t track, Int_t id, Float_t *hits ) {
  //this function is not a final-overrider for AliPHOS::AddHit, to
  //supress warning, I use using-declaration :)
  using AliPHOS::AddHit;
  virtual void   AddHit( Int_t, Int_t, Int_t, Int_t, Float_t*) {
    // useless since there are no hits
    Fatal("AddHit", "not to be used with v0") ;
  }
  virtual void   CreateGeometry(void) ;            // creates the geometry for GEANT
  void           CreateGeometryforEMC(void) ;     // creates the PHOS geometry for GEANT
  //  void           CreateGeometryforPPSD(void) ;     // creates the PPSD geometry for GEANT
  void           CreateGeometryforCPV(void) ;      // creates the CPV  geometry for GEANT
  void           CreateGeometryforSupport(void) ;  // creates the Support geometry for GEANT
  virtual void   AddAlignableVolumes() const;      // define sym.names for alignable volumes

  virtual Float_t ZMin() const;                    // overall dimension of the module (min)
  virtual Float_t ZMax() const;                    // overall dimension of the module (max)

  virtual void   Init(void) ;                      // does nothing
  virtual Int_t  IsVersion(void) const { 
    // Gives the version number 
    return 0 ; 
  }
  virtual const TString Version(void)const { 
    // As above
    return TString("v0") ; 
  }
  
  
 private:
  AliPHOSv0(AliPHOSv0 & phos);
  AliPHOSv0 & operator = (const AliPHOSv0 & /*rvalue*/);

  ClassDef(AliPHOSv0,1)  // Implementation of PHOS manager class for layout EMC+PPSD
    
    };
    
#endif // AliPHOSV0_H
 AliPHOSv0.h:1
 AliPHOSv0.h:2
 AliPHOSv0.h:3
 AliPHOSv0.h:4
 AliPHOSv0.h:5
 AliPHOSv0.h:6
 AliPHOSv0.h:7
 AliPHOSv0.h:8
 AliPHOSv0.h:9
 AliPHOSv0.h:10
 AliPHOSv0.h:11
 AliPHOSv0.h:12
 AliPHOSv0.h:13
 AliPHOSv0.h:14
 AliPHOSv0.h:15
 AliPHOSv0.h:16
 AliPHOSv0.h:17
 AliPHOSv0.h:18
 AliPHOSv0.h:19
 AliPHOSv0.h:20
 AliPHOSv0.h:21
 AliPHOSv0.h:22
 AliPHOSv0.h:23
 AliPHOSv0.h:24
 AliPHOSv0.h:25
 AliPHOSv0.h:26
 AliPHOSv0.h:27
 AliPHOSv0.h:28
 AliPHOSv0.h:29
 AliPHOSv0.h:30
 AliPHOSv0.h:31
 AliPHOSv0.h:32
 AliPHOSv0.h:33
 AliPHOSv0.h:34
 AliPHOSv0.h:35
 AliPHOSv0.h:36
 AliPHOSv0.h:37
 AliPHOSv0.h:38
 AliPHOSv0.h:39
 AliPHOSv0.h:40
 AliPHOSv0.h:41
 AliPHOSv0.h:42
 AliPHOSv0.h:43
 AliPHOSv0.h:44
 AliPHOSv0.h:45
 AliPHOSv0.h:46
 AliPHOSv0.h:47
 AliPHOSv0.h:48
 AliPHOSv0.h:49
 AliPHOSv0.h:50
 AliPHOSv0.h:51
 AliPHOSv0.h:52
 AliPHOSv0.h:53
 AliPHOSv0.h:54
 AliPHOSv0.h:55
 AliPHOSv0.h:56
 AliPHOSv0.h:57
 AliPHOSv0.h:58
 AliPHOSv0.h:59
 AliPHOSv0.h:60
 AliPHOSv0.h:61
 AliPHOSv0.h:62
 AliPHOSv0.h:63
 AliPHOSv0.h:64
 AliPHOSv0.h:65
 AliPHOSv0.h:66
 AliPHOSv0.h:67
 AliPHOSv0.h:68
 AliPHOSv0.h:69
 AliPHOSv0.h:70
 AliPHOSv0.h:71
 AliPHOSv0.h:72
 AliPHOSv0.h:73
 AliPHOSv0.h:74
 AliPHOSv0.h:75
 AliPHOSv0.h:76
 AliPHOSv0.h:77
 AliPHOSv0.h:78
 AliPHOSv0.h:79
 AliPHOSv0.h:80