BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Simulation/BOOST/MdcSim/include/MdcSim/BesMdcHit.hh
Go to the documentation of this file.
1//---------------------------------------------------------------------------//
2// BOOST --- BESIII Object_Oriented Simulation Tool //
3//---------------------------------------------------------------------------//
4// Description: Track type hit class for BESIII MDC
5// Author: Yuan Ye(yuany@mail.ihep.ac.cn)
6// Created: 4 Dec, 2003
7// Modified:
8// Comment:
9//---------------------------------------------------------------------------//
10
11#ifndef BesMdcHit_h
12#define BesMdcHit_h 1
13
14#include "G4Allocator.hh"
15#include "G4THitsCollection.hh"
16#include "G4ThreeVector.hh"
17#include "G4VHit.hh"
18
19//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
20
21class BesMdcHit : public G4VHit {
22public:
26 const BesMdcHit& operator=( const BesMdcHit& );
27 int operator==( const BesMdcHit& ) const;
28
29 inline void* operator new( size_t );
30 inline void operator delete( void* );
31
32 void Draw();
33 void Print();
34
35public:
36 void SetTrackID( G4int track ) { trackID = track; };
37 void SetLayerNo( G4int layer ) { layerNo = layer; };
38 void SetCellNo( G4int cell ) { cellNo = cell; };
39 void SetEdep( G4double de ) { edep = de; };
40 void SetPos( G4ThreeVector xyz ) { pos = xyz; };
41 void SetDriftD( G4double distance ) { driftD = distance; };
42 void SetDriftT( G4double time ) { driftT = time; };
43 void SetGlobalT( G4double time ) { globalT = time; };
44 void SetTheta( G4double angle ) { theta = angle; };
45 void SetEnterAngle( G4double angle ) { enterAngle = angle; };
46 void SetPosFlag( G4int flag ) { posFlag = flag; };
47
48 G4int GetTrackID() { return trackID; };
49 G4int GetLayerNo() { return layerNo; };
50 G4int GetCellNo() { return cellNo; };
51 G4double GetEdep() { return edep; };
52 G4ThreeVector GetPos() { return pos; };
53 G4double GetDriftD() { return driftD; };
54 G4double GetDriftT() { return driftT; };
55 G4double GetGlobalT() { return globalT; };
56 G4double GetTheta() { return theta; };
57 G4double GetEnterAngle() { return enterAngle; };
58 G4int GetPosFlag() { return posFlag; };
59
60private:
61 G4int trackID;
62 G4int layerNo;
63 G4int cellNo;
64 G4double edep;
65 G4ThreeVector pos;
66 G4double driftD;
67 G4double driftT;
68 G4double globalT;
69 G4double theta;
70 G4double enterAngle;
71 G4int posFlag;
72};
73
74//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
75
76typedef G4THitsCollection<BesMdcHit> BesMdcHitsCollection;
77
78extern G4Allocator<BesMdcHit> BesMdcHitAllocator;
79
80//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
81
82inline void* BesMdcHit::operator new( size_t ) {
83 void* aHit;
84 aHit = (void*)BesMdcHitAllocator.MallocSingle();
85 return aHit;
86}
87
88//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
89
90inline void BesMdcHit::operator delete( void* aHit ) {
91 BesMdcHitAllocator.FreeSingle( (BesMdcHit*)aHit );
92}
93
94//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
95
96#endif
Double_t time
G4Allocator< BesMdcHit > BesMdcHitAllocator
Definition BesMdcHit.cc:18
G4THitsCollection< BesMdcHit > BesMdcHitsCollection
void Print()
void Draw()
int operator==(const BesMdcHit &) const
BesMdcHit(const BesMdcHit &)
const BesMdcHit & operator=(const BesMdcHit &)