#ifndef _FROG_Prim_TUBE_H__ #define _FROG_Prim_TUBE_H__ #include "Base.h" namespace FROG{ class Prim_Tube : public BaseColl_Id { public : float RadiusIn; float RadiusOut; float PosX; float PosY; float PosZ; float LengthX; float LengthY; float LengthZ; unsigned short NPhi; unsigned char Endcap; float Phi0; virtual unsigned int chunkId(){ return 41041;} virtual bool isCompactible(){ return true; } Prim_Tube(){} Prim_Tube( unsigned int detId, float radiusIn,float radiusOut, float posX, float posY, float posZ, float lengthX, float lengthY, float lengthZ, unsigned short nPhi=10, unsigned char endcap=0, float phi0=0) : BaseColl_Id(detId), RadiusIn(radiusIn), RadiusOut(radiusOut), PosX(posX), PosY(posY), PosZ(posZ), LengthX(lengthX), LengthY(lengthY), LengthZ(lengthZ), NPhi(nPhi), Endcap(endcap), Phi0(phi0){} virtual ByteBuffer writeData(){ ByteBuffer toReturn(44); toReturn.putUInt(detId_); toReturn.putFloat(RadiusIn); toReturn.putFloat(RadiusOut); toReturn.putFloat(PosX); toReturn.putFloat(PosY); toReturn.putFloat(PosZ); toReturn.putFloat(LengthX); toReturn.putFloat(LengthY); toReturn.putFloat(LengthZ); toReturn.putUShort(NPhi); toReturn.putUShort(Endcap); toReturn.putFloat(Phi0); return toReturn; } }; }//FROG Namespace #endif