Line data Source code
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 : /* $Id$ */
7 :
8 : /* History of cvs commits:
9 : *
10 : * $Log$
11 : * Revision 1.9 2006/09/13 07:31:01 kharlov
12 : * Effective C++ corrections (T.Pocheptsov)
13 : *
14 : * Revision 1.8 2005/05/28 14:19:05 schutz
15 : * Compilation warnings fixed by T.P.
16 : *
17 : */
18 :
19 : //_________________________________________________________________________
20 : // Implementation version vImpacts of PHOS Manager class.
21 : // This class inherits from v1 and adds impacts storing.
22 : // Impacts stands for exact values of track coming to the detectors
23 : // EMC, CPV or PPSD.
24 : // Impacts are written to the same tree as hits are
25 : // but in separate branches.
26 : //*--
27 : //*-- Author: Yuri Kharlov (IHEP, Protvino/SUBATECH, Nantes)
28 :
29 : // --- ROOT system ---
30 : class TList ;
31 : class TLorentzVector ;
32 :
33 :
34 : // --- AliRoot header files ---
35 : #include "AliPHOSv1.h"
36 :
37 : class AliPHOSvImpacts : public AliPHOSv1 {
38 :
39 : public:
40 :
41 : AliPHOSvImpacts(void) ;
42 : AliPHOSvImpacts(const char *name, const char *title="") ;
43 : virtual ~AliPHOSvImpacts(void) ;
44 :
45 : virtual void AddImpact(const char* detector, Int_t shunt, Int_t primary, Int_t track,
46 : Int_t module, Int_t pid, TLorentzVector p, Float_t *xyz) ;
47 : virtual void MakeBranch(Option_t *opt=" ");
48 : virtual void ResetHits();
49 : virtual Int_t IsVersion(void) const {
50 : // Gives the version number
51 0 : return 1 ;
52 : }
53 : virtual void StepManager(void) ;
54 : virtual const TString Version(void)const{
55 : // returns the version number
56 0 : return TString("vImpacts") ;
57 : }
58 :
59 : protected:
60 :
61 : TList * fEMCImpacts; // Array of impacts in EMC modules
62 : TList * fCPVImpacts; // Array of impacts in CPV (IHEP) modules
63 : TList * fPPSDImpacts; // Array of impacts in PPSD modules
64 :
65 : Int_t fNEMCImpacts[5]; // Number of EMC impacts per module
66 : Int_t fNCPVImpacts[5]; // Number of CPV impacts per module
67 : Int_t fNPPSDImpacts[5]; // Number of PPSD impacts per module
68 :
69 : private:
70 : AliPHOSvImpacts(AliPHOSvImpacts & phos);
71 : AliPHOSvImpacts & operator = (const AliPHOSvImpacts & /*rvalue*/);
72 :
73 20 : ClassDef(AliPHOSvImpacts,1) // Implementation of PHOS manager class for layout EMC+PPSD
74 :
75 : };
76 :
77 : #endif // AliPHOSVIMPACTS_H
|