/home/docs/checkouts/readthedocs.org/user_builds/ratpac/checkouts/latest/src/geo/include/RAT/BWVetGenericChamberHit.hh Source File

Ratpac-two: /home/docs/checkouts/readthedocs.org/user_builds/ratpac/checkouts/latest/src/geo/include/RAT/BWVetGenericChamberHit.hh Source File
Ratpac-two
BWVetGenericChamberHit.hh
1 //
2 // $Id: BWVetGenericChamberHit.hh,v 1.1 2005/09/28 05:04:23 sekula Exp $
3 // --------------------------------------------------------------
4 //
5 #ifndef __RAT_BWVetGenericChamberHit__
6 #define __RAT_BWVetGenericChamberHit__
7 
8 #include <G4Allocator.hh>
9 #include <G4LogicalVolume.hh>
10 #include <G4RotationMatrix.hh>
11 #include <G4THitsCollection.hh>
12 #include <G4ThreeVector.hh>
13 #include <G4Transform3D.hh>
14 #include <G4VHit.hh>
15 
16 namespace RAT {
17 
18 class BWVetGenericChamberHit : public G4VHit {
19  public:
20  BWVetGenericChamberHit(G4int i, G4double t);
21  virtual ~BWVetGenericChamberHit();
23  const BWVetGenericChamberHit &operator=(const BWVetGenericChamberHit &right);
24  int operator==(const BWVetGenericChamberHit &right) const;
25 
26  inline void *operator new(size_t);
27  inline void operator delete(void *aHit);
28 
29  void Draw();
30  void Print();
31 
32  private:
33  G4int id;
34  G4double time;
35  G4ThreeVector pos;
36  G4RotationMatrix rot;
37  const G4LogicalVolume *pLogV;
38 
39  public:
40  inline G4int GetID() const { return id; }
41  inline G4double GetTime() const { return time; }
42  inline void SetTime(G4double val) { time = val; }
43  inline void SetPos(G4ThreeVector xyz) { pos = xyz; }
44  inline G4ThreeVector GetPos() const { return pos; }
45  inline void SetRot(G4RotationMatrix rmat) { rot = rmat; }
46  inline G4RotationMatrix GetRot() const { return rot; }
47  inline void SetLogV(G4LogicalVolume *val) { pLogV = val; }
48  inline const G4LogicalVolume *GetLogV() const { return pLogV; }
49 };
50 
51 typedef G4THitsCollection<BWVetGenericChamberHit> BWVetGenericChamberHitsCollection;
52 
53 extern G4Allocator<BWVetGenericChamberHit> BWVetGenericChamberHitAllocator;
54 
55 inline void *BWVetGenericChamberHit::operator new(size_t) {
56  void *aHit;
57  aHit = (void *)BWVetGenericChamberHitAllocator.MallocSingle();
58  return aHit;
59 }
60 
61 inline void BWVetGenericChamberHit::operator delete(void *aHit) {
62  BWVetGenericChamberHitAllocator.FreeSingle((BWVetGenericChamberHit *)aHit);
63 }
64 
65 } // namespace RAT
66 
67 #endif
Definition: BWVetGenericChamberHit.hh:18
Definition: CCCrossSecMessenger.hh:29