]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PHOS/AliPHOSvImpacts.h
Further modifications in OpenOutput and WriteCluster
[u/mrichter/AliRoot.git] / PHOS / AliPHOSvImpacts.h
1 #ifndef ALIPHOSVIMPACTS_H
2 #define ALIPHOSVIMPACTS_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 //_________________________________________________________________________
7 // Implementation version vImpacts of PHOS Manager class.
8 // This class inherits from v1 and adds impacts storing.
9 // Impacts stands for exact values of track coming to the detectors
10 // EMC, CPV or PPSD.
11 // Impacts are written to the same tree as hits are
12 // but in separate branches.
13 //*--                  
14 //*-- Author: Yuri Kharlov (IHEP, Protvino/SUBATECH, Nantes)
15
16 // --- ROOT system ---
17 class TList ;
18 class TLorentzVector ;
19
20
21 // --- AliRoot header files ---
22 #include "AliPHOSv1.h"
23
24 class AliPHOSvImpacts : public AliPHOSv1 {
25
26 public:
27
28   AliPHOSvImpacts(void) ;
29   AliPHOSvImpacts(const char *name, const char *title="") ;
30   AliPHOSvImpacts(const AliPHOSvImpacts & phos) {
31     // cpy ctor: no implementation yet
32     // requested by the Coding Convention
33     Fatal("cpy ctor", "not implemented") ;
34   }
35   virtual ~AliPHOSvImpacts(void) ;
36
37   virtual void   AddImpact(char* detector, Int_t shunt, Int_t primary, Int_t track,
38                            Int_t module, Int_t pid, TLorentzVector p, Float_t *xyz) ;
39   virtual void   MakeBranch(Option_t *opt=" ", const char *file=0) ;
40   virtual void   ResetHits();
41   virtual Int_t  IsVersion(void) const {
42     // Gives the version number 
43     return 1 ; 
44   }
45   virtual void   StepManager(void) ;                              
46   virtual TString Version(void){ 
47     // returns the version number 
48     return TString("vImpacts") ; 
49   }
50
51   AliPHOSvImpacts & operator = (const AliPHOSvImpacts & rvalue)  {
52     // assignement operator requested by coding convention but not needed
53     Fatal("operator =", "not implemented") ;
54     return *this ; 
55   }
56
57 protected:
58
59   TList * fEMCImpacts;         // Array of impacts in EMC modules
60   TList * fCPVImpacts;         // Array of impacts in CPV (IHEP) modules
61   TList * fPPSDImpacts;        // Array of impacts in PPSD modules
62
63   Int_t  fNEMCImpacts[5];      // Number of EMC impacts per module
64   Int_t  fNCPVImpacts[5];      // Number of CPV impacts per module
65   Int_t  fNPPSDImpacts[5];     // Number of PPSD impacts per module
66
67
68   ClassDef(AliPHOSvImpacts,1)  // Implementation of PHOS manager class for layout EMC+PPSD
69
70 };
71
72 #endif // AliPHOSVIMPACTS_H