/* * hddm_s.h - DO NOT EDIT THIS FILE * * This file was generated automatically by hddm-c from the file * hddm/mc.xml * This header file defines the c structures that hold the data * described in the data model (from hddm/mc.xml). * Any program that needs access to the data described in the model * can include this header file, and make use of the input/output * services provided in hddm_s.c * * The hddm data model tool set was written by * Richard Jones, University of Connecticut. * * For more information see the following web site * * http://zeus.phys.uconn.edu/halld/datamodel/doc * */ #include #include #include #include #include #include #define MALLOC(N,S) malloc(N) #define FREE(P) free(P) #ifndef SAW_s_Momentum_t #define SAW_s_Momentum_t typedef struct { float E; float px; float py; float pz; } s_Momentum_t; #endif /* s_Momentum_t */ #ifndef SAW_s_Properties_t #define SAW_s_Properties_t typedef struct { int charge; float mass; } s_Properties_t; #endif /* s_Properties_t */ #ifndef SAW_s_Beam_t #define SAW_s_Beam_t typedef struct { Particle_t type; s_Momentum_t* momentum; s_Properties_t* properties; } s_Beam_t; #endif /* s_Beam_t */ #ifndef SAW_s_Target_t #define SAW_s_Target_t typedef struct { Particle_t type; s_Momentum_t* momentum; s_Properties_t* properties; } s_Target_t; #endif /* s_Target_t */ #ifndef SAW_s_Product_t #define SAW_s_Product_t typedef struct { int decayVertex; Particle_t type; s_Momentum_t* momentum; s_Properties_t* properties; } s_Product_t; typedef struct { unsigned int mult; s_Product_t in[1]; } s_Products_t; #endif /* s_Product_t */ #ifndef SAW_s_Origin_t #define SAW_s_Origin_t typedef struct { float t; float vx; float vy; float vz; } s_Origin_t; #endif /* s_Origin_t */ #ifndef SAW_s_Vertex_t #define SAW_s_Vertex_t typedef struct { s_Products_t* products; s_Origin_t* origin; } s_Vertex_t; typedef struct { unsigned int mult; s_Vertex_t in[1]; } s_Vertices_t; #endif /* s_Vertex_t */ #ifndef SAW_s_Reaction_t #define SAW_s_Reaction_t typedef struct { int type; float weight; s_Beam_t* beam; s_Target_t* target; s_Vertices_t* vertices; } s_Reaction_t; typedef struct { unsigned int mult; s_Reaction_t in[1]; } s_Reactions_t; #endif /* s_Reaction_t */ #ifndef SAW_s_PhysicsEvent_t #define SAW_s_PhysicsEvent_t typedef struct { int eventNo; int runNo; s_Reactions_t* reactions; } s_PhysicsEvent_t; typedef struct { unsigned int mult; s_PhysicsEvent_t in[1]; } s_PhysicsEvents_t; #endif /* s_PhysicsEvent_t */ #ifndef SAW_s_HDDM_t #define SAW_s_HDDM_t typedef struct { s_PhysicsEvents_t* physicsEvents; } s_HDDM_t; #endif /* s_HDDM_t */ #ifdef __cplusplus extern "C" { #endif s_HDDM_t* make_s_HDDM(); s_PhysicsEvents_t* make_s_PhysicsEvents(int n); s_Reactions_t* make_s_Reactions(int n); s_Beam_t* make_s_Beam(); s_Momentum_t* make_s_Momentum(); s_Properties_t* make_s_Properties(); s_Target_t* make_s_Target(); s_Vertices_t* make_s_Vertices(int n); s_Products_t* make_s_Products(int n); s_Origin_t* make_s_Origin(); #ifdef __cplusplus } #endif #ifndef s_DocumentString #define s_DocumentString extern char HDDM_s_DocumentString[]; #ifdef INLINE_PREPEND_UNDERSCORES #define inline __inline #endif #endif /* s_DocumentString */ #ifndef HDDM_STREAM_INPUT #define HDDM_STREAM_INPUT -91 #define HDDM_STREAM_OUTPUT -92 struct popNode_s { void* (*unpacker)(XDR*, struct popNode_s*); int inParent; int popListLength; struct popNode_s* popList[99]; }; typedef struct popNode_s popNode; typedef struct { FILE* fd; int iomode; char* filename; XDR* xdrs; popNode* popTop; } s_iostream_t; #endif /* HDDM_STREAM_INPUT */ #ifdef __cplusplus extern "C" { #endif s_HDDM_t* read_s_HDDM(s_iostream_t* fp); int flush_s_HDDM(s_HDDM_t* this1,s_iostream_t* fp); s_iostream_t* open_s_HDDM(char* filename); s_iostream_t* init_s_HDDM(char* filename); void close_s_HDDM(s_iostream_t* fp); #ifdef __cplusplus } #endif #if !defined HDDM_NULL extern int hddm_nullTarget; # define HDDM_NULL (void*)&hddm_nullTarget #endif