-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathLinkDef.hh
76 lines (62 loc) · 3.26 KB
/
LinkDef.hh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#ifdef __CLING__
// This is a ROOT dictionary link definitions file. The format is
// described (too briefly) at
// <https://root.cern/manual/io_custom_classes/#selecting-dictionary-entries-linkdefh>.
// There must be at least one line below for every data object that's
// used in each header. If an object contains special C++
// classes of its own (e.g., std::map), those must be defined as well.
// In addition, if operator<< is used for any classes, then it must be
// explicitly included below, and it must _not_ be part of any
// namespace.
#pragma link C++ class std::string+;
// Needed for the hit and cluster objects.
#pragma link C++ class std::tuple<int,int>+;
#pragma link C++ class std::tuple<int,int,int>+;
#pragma link C++ class grams::EventID+;
#pragma link C++ function operator<<(std::ostream&, const grams::EventID&)+;
// Track objects
#pragma link C++ typedef grams::MCTrackList+;
#pragma link C++ class std::map< int, grams::MCTrack >+;
#pragma link C++ function operator<<(std::ostream&, const grams::MCTrackList&)+;
#pragma link C++ class grams::MCTrack+;
#pragma link C++ function operator<<(std::ostream&, const grams::MCTrack&)+;
#pragma link C++ typedef grams::MCTrajectory+;
#pragma link C++ class std::vector< grams::MCTrajectoryPoint >+;
#pragma link C++ function operator<<(std::ostream&, const grams::MCTrajectory&)+;
#pragma link C++ struct grams::MCTrajectoryPoint+;
#pragma link C++ function operator<<(std::ostream&, const grams::MCTrajectoryPoint&)+;
// Hit objects
#pragma link C++ class grams::MCLArHits+;
#pragma link C++ function operator<<(std::ostream&, const grams::MCLArHits&)+;
#pragma link C++ struct grams::MCLArHit+;
#pragma link C++ function operator<<(std::ostream&, const grams::MCLArHit&)+;
#pragma link C++ class grams::MCScintHits+;
#pragma link C++ function operator<<(std::ostream&, const grams::MCScintHits&)+;
#pragma link C++ struct grams::MCScintHit+;
#pragma link C++ function operator<<(std::ostream&, const grams::MCScintHit&)+;
// ElectronClusters
#pragma link C++ class grams::ElectronClusters+;
#pragma link C++ function operator<<(std::ostream&, const grams::ElectronClusters&)+;
#pragma link C++ struct grams::ElectronCluster+;
#pragma link C++ function operator<<(std::ostream&, const grams::ElectronCluster&)+;
// Readout geometry
#pragma link C++ class grams::ReadoutID+;
#pragma link C++ function operator<<(std::ostream&, const grams::ReadoutID&)+;
// Readout maps.
#pragma link C++ class grams::ReadoutMap+;
#pragma link C++ function operator<<(std::ostream&, const grams::ReadoutMap&)+;
#pragma link C++ class std::set< std::tuple<int,int,int> >+;
#pragma link C++ class grams::ClusterKeys+;
#pragma link C++ function operator<<(std::ostream&, const grams::ClusterKeys&)+;
// Readout waveformss.
#pragma link C++ class grams::ReadoutWaveforms+;
#pragma link C++ function operator<<(std::ostream&, const grams::ReadoutWaveforms&)+;
#pragma link C++ class grams::ReadoutWaveform+;
#pragma link C++ function operator<<(std::ostream&, const grams::ReadoutWaveform&)+;
// The following statements may not be necessary, but I include them
// for "safety"; see
// https://root.cern.ch/root/htmldoc/guides/users-guide/AddingaClass.html
#pragma link C++ namespace grams;
//#pragma link C++ nestedclass;
//#pragma link C++ nestedtypedef;
#endif // __CLING__