BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Simulation/BOOST/MucSim/include/MucSim/BesMucHit.hh
Go to the documentation of this file.
1//---------------------------------------------------------------------------//
2// BOOST --- BESIII Object_Oriented Simulation Tool //
3//---------------------------------------------------------------------------//
4// Description: Hit in MUC
5// Author: Youzy Peking University mail: youzy@hep.pku.cn
6// Created: Nov, 2003
7// Modified:
8// Comment:
9//---------------------------------------------------------------------------//
10
11//
12// $Id: BesMucHit.hh,v 1.3 2009/08/25 13:33:54 xieyg Exp $
13// GEANT4 tag $Name: MucSim-00-01-04 $
14
15#ifndef BesMucHit_h
16#define BesMucHit_h 1
17
18#include "G4Allocator.hh"
19#include "G4LogicalVolume.hh"
20#include "G4THitsCollection.hh"
21#include "G4ThreeVector.hh"
22#include "G4VHit.hh"
23#include "G4VPhysicalVolume.hh"
24// #include "BesDetectorConstruction.hh"
25
26class BesMucHit : public G4VHit {
27public:
29 BesMucHit( int prt, int seg, int lay, int str, int trId, int trIndex );
30 // BesMucHit(BesDetectorConstruction*);
33 const BesMucHit& operator=( const BesMucHit& );
34 int operator==( const BesMucHit& ) const;
35
36 inline void* operator new( size_t );
37 inline void operator delete( void* );
38
39 void Draw();
40 void Print();
41
42public:
43 void SetTrackID( G4int track ) { m_TrackID = track; };
44 void SetTrackIndex( G4int index ) { m_TrackIndex = index; };
45 void SetPDGCode( G4int pdg ) { m_PDGCode = pdg; };
46 void SetEdep( G4double de ) { m_Edep = de; };
47 void SetEnergy( G4double energy ) { m_Energy = energy; };
48 void SetTime( G4double t ) { m_Time = t; };
49 void SetPos( G4ThreeVector xyz ) { m_Pos = xyz; };
50 void SetPosLocal( G4ThreeVector xyzLocal ) { m_PosLocal = xyzLocal; };
51 void SetDir( G4ThreeVector dir ) { m_Dir = dir; };
52 void SetMomentum( G4ThreeVector momentum ) { m_Momentum = momentum; };
53 void SetVolume( G4VPhysicalVolume* pv );
54 void SetPart( G4int part ) { m_Part = part; };
55 void SetSeg( G4int seg ) { m_Seg = seg; };
56 void SetGap( G4int gap ) { m_Gap = gap; };
57 void SetStrip( G4int strip ) { m_Strip = strip; };
58
59 G4int GetTrackID() { return m_TrackID; };
60 G4int GetTrackIndex() { return m_TrackIndex; };
61 G4int GetPDGCode() { return m_PDGCode; };
62 G4double GetEdep() { return m_Edep; };
63 G4double GetEnergy() { return m_Energy; };
64 G4double GetTime() { return m_Time; };
65 G4ThreeVector GetPos() { return m_Pos; };
66 G4ThreeVector GetPosLocal() { return m_PosLocal; };
67 G4ThreeVector GetDir() { return m_Dir; };
68 G4ThreeVector GetMomentum() { return m_Momentum; };
69 G4VPhysicalVolume* GetVolume() { return m_Volume; };
70 G4String GetVolumeName() { return m_VolumeName; };
71 G4int GetPart() { return m_Part; };
72 G4int GetSeg() { return m_Seg; };
73 G4int GetGap() { return m_Gap; };
74 G4int GetStrip() { return m_Strip; };
75 G4int GetPanel() { return m_Panel; };
76 G4int GetGasChamber() { return m_GasChamber; };
77
78private:
79 G4int m_TrackID; // g4 track id
80 G4int m_TrackIndex; // MC truth id
81 G4int m_PDGCode;
82 G4double m_Edep;
83 G4double m_Energy;
84 G4double m_Time;
85 G4ThreeVector m_Pos;
86 G4ThreeVector m_PosLocal;
87 G4ThreeVector m_Dir;
88 G4ThreeVector m_Momentum;
89 G4VPhysicalVolume* m_Volume;
90 G4String m_VolumeName;
91 G4int m_Part;
92 G4int m_Seg;
93 G4int m_Gap;
94 G4int m_Strip;
95 G4int m_Panel;
96 G4int m_GasChamber;
97 // BesDetectorConstruction* detector;
98};
99
100typedef G4THitsCollection<BesMucHit> BesMucHitsCollection;
101
102extern G4Allocator<BesMucHit> BesMucHitAllocator;
103
104inline void* BesMucHit::operator new( size_t ) {
105 void* aHit;
106 aHit = (void*)BesMucHitAllocator.MallocSingle();
107 return aHit;
108}
109
110inline void BesMucHit::operator delete( void* aHit ) {
111 BesMucHitAllocator.FreeSingle( (BesMucHit*)aHit );
112}
113
114#endif
**********INTEGER nmxhep !maximum number of particles DOUBLE PRECISION vhep INTEGER jdahep COMMON hepevt $ !serial number $ !number of particles $ !status code $ !particle ident KF $ !parent particles $ !childreen particles $ !four momentum
G4Allocator< BesMucHit > BesMucHitAllocator
Definition BesMucHit.cc:24
G4THitsCollection< BesMucHit > BesMucHitsCollection
************Class m_ypar INTEGER m_KeyWgt INTEGER m_KeyIHVP INTEGER m_KeyGPS INTEGER m_IsBeamPolarized INTEGER m_EvtGenInterface DOUBLE PRECISION m_Emin DOUBLE PRECISION m_sphot DOUBLE PRECISION m_Xenph DOUBLE PRECISION m_q2 DOUBLE PRECISION m_PolBeam2 DOUBLE PRECISION m_xErrPb *COMMON c_KK2f $ !CMS energy average $ !Spin Polarization vector first beam $ !Spin Polarization vector second beam $ !Beam energy spread[GeV] $ !minimum hadronization energy[GeV] $ !input READ never touch them !$ !debug facility $ !maximum weight $ !inverse alfaQED $ !minimum real photon energy
Definition KK2f.h:50
#define prt(n)
BesMucHit(const BesMucHit &)
void SetPosLocal(G4ThreeVector xyzLocal)
void SetVolume(G4VPhysicalVolume *pv)
BesMucHit(int prt, int seg, int lay, int str, int trId, int trIndex)
void Draw()
int operator==(const BesMucHit &) const
void Print()
const BesMucHit & operator=(const BesMucHit &)
void SetMomentum(G4ThreeVector momentum)
int t()
Definition t.c:1