ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ExN04CalorimeterHit.hh
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file ExN04CalorimeterHit.hh
1 //
2 // ********************************************************************
3 // * License and Disclaimer *
4 // * *
5 // * The Geant4 software is copyright of the Copyright Holders of *
6 // * the Geant4 Collaboration. It is provided under the terms and *
7 // * conditions of the Geant4 Software License, included in the file *
8 // * LICENSE and available at http://cern.ch/geant4/license . These *
9 // * include a list of copyright holders. *
10 // * *
11 // * Neither the authors of this software system, nor their employing *
12 // * institutes,nor the agencies providing financial support for this *
13 // * work make any representation or warranty, express or implied, *
14 // * regarding this software system or assume any liability for its *
15 // * use. Please see the license in the file LICENSE and URL above *
16 // * for the full disclaimer and the limitation of liability. *
17 // * *
18 // * This code implementation is the result of the scientific and *
19 // * technical work of the GEANT4 collaboration. *
20 // * By using, copying, modifying or distributing the software (or *
21 // * any work based on the software) you agree to acknowledge its *
22 // * use in resulting scientific publications, and indicate your *
23 // * acceptance of all terms of the Geant4 Software license. *
24 // ********************************************************************
25 //
28 //
29 //
30 
31 #ifndef ExN04CalorimeterHit_h
32 #define ExN04CalorimeterHit_h 1
33 
34 #include "G4Allocator.hh"
35 #include "G4LogicalVolume.hh"
36 #include "G4RotationMatrix.hh"
37 #include "G4THitsCollection.hh"
38 #include "G4ThreeVector.hh"
39 #include "G4Transform3D.hh"
40 #include "G4VHit.hh"
41 
42 class ExN04CalorimeterHit : public G4VHit {
43 public:
47 
48  virtual ~ExN04CalorimeterHit();
49 
51  G4bool operator==(const ExN04CalorimeterHit& right) const;
52 
53  inline void* operator new(size_t);
54  inline void operator delete(void* aHit);
55 
56  virtual void Draw();
57  virtual void Print();
58 
59  void SetCellID(G4int z,G4int phi);
60  G4int GetZ();
61  G4int GetPhi();
62  void SetEdep(G4double de);
63  void AddEdep(G4double de);
64  G4double GetEdep();
65  void SetPos(G4ThreeVector xyz);
67  void SetRot(G4RotationMatrix rmat);
69  const G4LogicalVolume* GetLogV();
70 
71 private:
78 };
79 
80 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
82  {
83  fZCellID = z;
84  fPhiCellID = phi;
85 }
86 
88 {
89  return fZCellID;
90 }
91 
93 {
94  return fPhiCellID;
95 }
96 
98 {
99  fedep = de;
100 }
101 
103 {
104  fedep += de;
105 }
106 
108 {
109  return fedep;
110 }
111 
113 {
114  fpos = xyz;
115 }
116 
118 {
119  return fpos;
120 }
121 
123 {
124  frot = rmat;
125 }
126 
128 {
129  return frot;
130 }
131 
133 {
134  return fpLogV;
135 }
136 
137 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
139 
141 
142 inline void* ExN04CalorimeterHit::operator new(size_t)
143 {
144  void* aHit;
145  aHit = (void*) ExN04CalorimeterHitAllocator.MallocSingle();
146  return aHit;
147 }
148 
149 inline void ExN04CalorimeterHit::operator delete(void* aHit)
150 {
151  ExN04CalorimeterHitAllocator.FreeSingle((ExN04CalorimeterHit*) aHit);
152 }
153 
154 #endif