Warning, file /geant4/examples/extended/runAndEvent/RE05/include/RE05MuonHit.hh was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029 #ifndef RE05MuonHit_h
0030 #define RE05MuonHit_h 1
0031
0032 #include "G4Allocator.hh"
0033 #include "G4THitsCollection.hh"
0034 #include "G4ThreeVector.hh"
0035 #include "G4Types.hh"
0036 #include "G4VHit.hh"
0037
0038 class G4AttDef;
0039
0040 class RE05MuonHit : public G4VHit
0041 {
0042 public:
0043 RE05MuonHit();
0044 virtual ~RE05MuonHit();
0045 RE05MuonHit(const RE05MuonHit& right);
0046 const RE05MuonHit& operator=(const RE05MuonHit& right);
0047 G4bool operator==(const RE05MuonHit& right) const;
0048
0049 inline void* operator new(size_t);
0050 inline void operator delete(void* aHit);
0051
0052 virtual void Draw();
0053 virtual const std::map<G4String, G4AttDef>* GetAttDefs() const;
0054 virtual std::vector<G4AttValue>* CreateAttValues() const;
0055 virtual void Print();
0056
0057 private:
0058 G4double fEdep;
0059 G4ThreeVector fPos;
0060 static std::map<G4String, G4AttDef> fAttDefs;
0061
0062 public:
0063 inline void SetEdep(G4double de) { fEdep = de; }
0064 inline void AddEdep(G4double de) { fEdep += de; }
0065 inline G4double GetEdep() { return fEdep; }
0066 inline void SetPos(G4ThreeVector xyz) { fPos = xyz; }
0067 inline G4ThreeVector GetPos() { return fPos; }
0068 };
0069
0070 typedef G4THitsCollection<RE05MuonHit> RE05MuonHitsCollection;
0071
0072 extern G4ThreadLocal G4Allocator<RE05MuonHit>* RE05MuonHitAllocator;
0073
0074 inline void* RE05MuonHit::operator new(size_t)
0075 {
0076 if (!RE05MuonHitAllocator) RE05MuonHitAllocator = new G4Allocator<RE05MuonHit>;
0077 return (void*)RE05MuonHitAllocator->MallocSingle();
0078 }
0079
0080 inline void RE05MuonHit::operator delete(void* aHit)
0081 {
0082 RE05MuonHitAllocator->FreeSingle((RE05MuonHit*)aHit);
0083 }
0084
0085 #endif