GEMC  1.8
Geant4 Monte-Carlo Framework
identifier.h
Go to the documentation of this file.
1 
6 #ifndef identifier_H
7 #define identifier_H 1
8 
9 // %%%%%%%%%%%
10 // C++ headers
11 // %%%%%%%%%%%
12 #include <string>
13 #include <vector>
14 using namespace std;
15 
16 
25 {
26  public:
29  string name;
30  string rule;
31  int id;
32  double time;
33  double TimeWindow;
34  int TrackId;
35  double id_sharing;
36 
37  public:
38  friend ostream &operator<<(ostream &stream, vector<identifier>);
39  bool operator== (const identifier& I) const;
40  bool operator< (const identifier& I) const;
41  bool operator> (const identifier& I) const;
42  bool operator<= (const identifier& I) const {return !(*this > I);}
43  bool operator>= (const identifier& I) const {return !(*this < I);}
44  bool operator!= (const identifier& I) const {return !(*this == I);}
45 };
46 
47 vector<identifier> SetId(vector<identifier>, G4VTouchable*, double, double, int);
48 
49 
50 #endif
51 
STL namespace.
int id
manually assing ID. 0 if "ncopy" (will be set at hit processing time)
Definition: identifier.h:31
double TimeWindow
Time Window. If abs(steptime - time) is smaller than TimeWindow, it&#39;s the same hit.
Definition: identifier.h:33
int TrackId
If Time Window is 0, it&#39;s a "flux" detector: if it&#39;s the same track, it&#39;s the same hit...
Definition: identifier.h:34
double id_sharing
A single step can generate multiple identifiers. This variable represent the percentage sharing of th...
Definition: identifier.h:35
double time
Time of the first step.
Definition: identifier.h:32
vector< identifier > SetId(vector< identifier >, G4VTouchable *, double, double, int)
Sets the ncopy ID accordingly to Geant4 Volumes copy number. Sets time, TimeWindow, TrackId.
Definition: identifier.cc:72
string rule
"manual" or "ncopy"
Definition: identifier.h:30