17#include <TGeoPhysicalNode.h>
18#include <TGeoVolume.h>
41 void InitFromGDML(
const char* gdmlFile,
const char* setupName );
137 Bool_t
IsHit( Int_t layer, Int_t wire );
140 void Draw( Option_t* option );
146 static const int m_kSegment = 66;
147 static const int m_kStereoLayerIn = 8;
148 static const int m_kAxialLayerIn = 12;
149 static const int m_kStereoLayerOut = 16;
150 static const int m_kAxialLayerOut = 7;
151 static const int m_kLayer = 50;
152 static const int m_kTrueLayer = 43;
153 static const int m_kReplicaMax = 288;
154 static const int m_kReplica[m_kLayer];
155 static const int m_kStereoDir[m_kTrueLayer];
156 static const int m_kCorrectLayer = 10;
157 static const int m_kiCorrectLayer[m_kCorrectLayer];
158 static const int m_kiCorrectReplica[m_kCorrectLayer];
161 static const int m_kSegmentNodeOffset = 891;
162 static const int m_kSegmentBr = 2;
167 Bool_t k_QNotOverflow;
168 Bool_t k_ColorfulWire;
169 Bool_t k_MdcTimeSubEvTime;
174 static const int MDC_TIME_FACTOR = 100000;
175 static const int MDC_CHARGE_FACTOR = 1000000;
181 int m_twistedTubsColor;
184 std::map<int, int> m_CorrectMap;
185 typedef std::map<int, int> intMap;
188 TGeoNode* m_NodeLayer[m_kLayer];
189 TGeoNode* m_NodeReplica[m_kLayer][m_kReplicaMax];
190 TGeoPhysicalNode* m_PhysicalSegment[m_kSegment * 2];
191 TGeoPhysicalNode* m_PhysicalReplica[m_kLayer][m_kReplicaMax];
193 const TObjArray* m_MdcDigiCol;
198 Mdc2DWire* m_Mdc2DWire[m_kTrueLayer][m_kReplicaMax];
TGeoNode * GetSegment(int segment, int no)
Get segment node;.
void SetTFire(Bool_t input)
int GetSegmentNb()
Get number of segments;.
int CorrectReplica(int layer, int replica)
Correct some axial layer id to copyNo;.
void SetVolumeDefaultVis()
Set default visual attributes;.
TGeoVolume * GetVolumeLayer(int layer)
Get layer volume;.
TGeoPhysicalNode * GetPhysicalSegment(int segment)
Get segment physical node;.
int GetReplicaNb(int layer)
Get number of replicas on each layer;.
void SetQuarterVisible()
Set quater visible;.
void SetNode()
Set the pointers to theirs nodes;.
void SetMdcTimeSubEvTime(Bool_t input)
int GetLayerNb()
Get number of layers;.
TGeoNode * GetLayer(int layer)
Get layer node;.
void SetQFire(Bool_t input)
void SetQNotOverflow(Bool_t input)
void DrawHits(Option_t *option)
Draw 2D hits.
void SetColorfulWire(Bool_t input)
void InitFromROOT(TGeoVolume *vol)
Initialize ROOTGeo from TGeoVolume logicalMdc.
void Init2DGeometry()
Initialize 2D Geometry.
TGeoNode * GetReplica(int layer, int replica)
Get replica node;.
TGeoVolume * GetVolumeReplica(int layer)
Get replica volume;.
TGeoVolume * GetVolumeSegment(int segment)
Get segment volume;.
void SetVisMdcHits()
Set Mdc hits visibility;.
void SetVisMdcDetector()
Set Mdc default detector visibility;.
Int_t GetSimuLayer(Int_t trueLayer)
Trans trueLayer to simuLayer (0~42)->(0~49).
Mdc2DWire * Get2DWire(Int_t layer, Int_t replica)
Get Mdc2DWire;.
void SetVolumeMdc(TGeoVolume *vol)
Set Mdc volume, while initializing from ROOT;.
void SetHalfVisible()
Set half visible;.
TGeoPhysicalNode * GetPhysicalReplica(int layer, int replica)
Get replica physical node;.
void SetPhysicalDefaultVis()
Set default physical node attributes;.
void SetPhysicalNode()
Set the pointers to the physical nodes;.
void SetAllVisible()
Set all visible;.
TGeoVolume * GetVolumeMdc()
Get Mdc volume;.
Bool_t IsHit(Int_t layer, Int_t wire)
Judge whether the digiCol contains (layer, wire).
void SetDetector()
Draw Detecor (what is detector depends on you).
void InitFromGDML(const char *gdmlFile, const char *setupName)
Initialize ROOTGeo from GDML.
void SetHits()
Set all physicalNodes corresponding to digiCol;.