5 #include "G4THitsCollection.hh"
6 #include "G4Allocator.hh"
7 #include "G4ThreeVector.hh"
8 #include "G4LogicalVolume.hh"
17 #include <ext/functional>
18 using __gnu_cxx::identity_element;
19 using __gnu_cxx::unary_compose;
20 using __gnu_cxx::binary_compose;
21 using __gnu_cxx::compose1;
22 using __gnu_cxx::compose2;
23 using __gnu_cxx::identity;
24 using __gnu_cxx::select1st;
25 using __gnu_cxx::select2nd;
26 using __gnu_cxx::project1st;
27 using __gnu_cxx::project2nd;
28 using __gnu_cxx::constant_void_fun;
29 using __gnu_cxx::constant_unary_fun;
30 using __gnu_cxx::constant_binary_fun;
31 using __gnu_cxx::constant0;
32 using __gnu_cxx::constant1;
33 using __gnu_cxx::constant2;
34 using __gnu_cxx::subtractive_rng;
35 using __gnu_cxx::mem_fun1;
36 using __gnu_cxx::mem_fun1_ref;
50 inline void*
operator new(size_t);
51 inline void operator delete(
void*);
62 void SetRot (G4RotationMatrix rotMatrix) {
rot = rotMatrix; };
78 time.push_back(hitTime);
97 std::vector<G4double>::iterator tfirst =
time.begin();
98 std::vector<G4double>::iterator tlast =
time.end();
100 std::vector<G4double>::iterator found =
101 std::find_if(tfirst,tlast,
102 compose2(std::logical_and<bool>(),
103 std::bind2nd(std::greater_equal<G4double>(),low),
104 std::bind2nd(std::less_equal<G4double>(),upevent)
107 if ( found != tlast ) {
123 std::vector<G4double>::iterator tfirst =
time.begin();
124 std::vector<G4double>::iterator tlast =
time.end();
126 G4double mintime = (pmtgate < evgate) ? pmtgate : evgate;
130 G4int number = std::count_if(tfirst,tlast,
131 compose2(std::logical_and<bool>(),
132 std::bind2nd(std::greater_equal<G4double>(),low),
133 std::bind2nd(std::less_equal<G4double>(),mintime)
173 inline void* WCSimWCHit::operator
new(size_t)
180 inline void WCSimWCHit::operator
delete(
void *aHit)
G4int operator==(const WCSimWCHit &) const
std::vector< G4int > primaryParentID
std::vector< G4double > time
void SetMaxPe(G4int number=0)
void SetTubeID(G4int tube)
void SetRot(G4RotationMatrix rotMatrix)
G4LogicalVolume * GetLogicalVolume()
G4THitsCollection< WCSimWCHit > WCSimWCHitsCollection
G4Allocator< WCSimWCHit > WCSimWCHitAllocator
void AddParentID(G4int primParentID)
void SetLogicalVolume(G4LogicalVolume *logV)
bool operator()(const WCSimWCHit *const &a, const WCSimWCHit *const &b) const
void SetTrackID(G4int track)
void SetPos(G4ThreeVector xyz)
const WCSimWCHit & operator=(const WCSimWCHit &)
void AddPe(G4double hitTime)
G4double GetFirstHitTimeInGate(G4double low, G4double upevent)
void SetEdep(G4double de)
G4int GetPeInGate(double low, double pmtgate, double evgate)